![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - unix epoch. переформатирование даты в нормальную в текстовом файле |
|
CMD/BAT - unix epoch. переформатирование даты в нормальную в текстовом файле
|
Пользователь Сообщения: 57 |
доброго времени суток. мой любимый раздел на этом форуме
не знаю как решить такую проблему. как перевести юникс время в обычное с помощью ексель я знаю. но мой файл содержит более миллиона строк формат такой 1183557532 (знак табуляции) инфо-инфо453535 надо чтоб выглядело так 2014-04-01 (знак табуляции) инфо-инфо453535 тоесть нужна сама дата (без часов, минут и секунд) |
|
Отправлено: 00:22, 11-04-2014 |
Пользователь Сообщения: 57
|
Профиль | Сайт | Отправить PM | Цитировать хехе
нашел сам решение но еще не опробЫвал..отпишусь позже...пока цытата с другого сайта awk is better for these stuff, if acceptable: awk -F, '{x=$1;sub(/.*=/,"",$1);sub(/=.*/,strftime("=%Y-%m-%d %H:%M:%S",$1),x);$1=x;}1' OFS=, file A sample result: $ cat file timestamp=1356431101, entity=xxx, event: xxxxxx timestamp=1354770380, entity=xxx, event: xxxxxx On running the command: $ awk -F, '{x=$1;sub(/.*=/,"",$1);sub(/=.*/,strftime("=%Y-%m-%d %H:%M:%S",$1),x);$1=x;}1' OFS=, file timestamp=2012-12-25 15:55:01, entity=xxx, event: xxxxxx timestamp=2012-12-06 10:36:20, entity=xxx, event: xxxxxx The first sub command extracts the timestamp. The second using the strftime replaces the timestamp with the date and time. 1 is used to print every line. |
Отправлено: 00:30, 11-04-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 57
|
Профиль | Сайт | Отправить PM | Цитировать парни помогите. ничего не получается... c авк никогда не сталкивался
в батнике такой текст $ awk -F, "{x=$1;sub(/.*=/,"",$1);sub(/=.*/,strftime("=%Y-%m-%d %H:%M:%S",$1),x);$1=x;}1" OFS=, file 1.txt>2.txt |
Последний раз редактировалось shmel_sv@vk, 13-04-2014 в 22:07. Отправлено: 21:58, 13-04-2014 | #3 |
Ветеран Сообщения: 1759
|
shmel_sv@vk, Вариант на PowerShell, хоть и оффтоп:
Как будет работать на больших файлах не знаю. |
Последний раз редактировалось Foreigner, 13-04-2014 в 23:24. Отправлено: 22:38, 13-04-2014 | #4 |
Пользователь Сообщения: 57
|
Профиль | Сайт | Отправить PM | Цитировать большое спасибо!!!
а как в повершел сделать точно так же но наоборот? из обычного в юникс формат - 2014-03-09 23-00 |
|
Отправлено: 03:06, 14-04-2014 | #5 |
Ветеран Сообщения: 1759
|
Цитата shmel_sv@vk:
|
|
Отправлено: 09:14, 14-04-2014 | #6 |
Ветеран Сообщения: 1759
|
shmel_sv@vk, По поводу больших файлов такая конструкция:
$reader = [io.file]::opentext("C:\Files\1.txt") $writer = new-object io.streamwriter("C:\Files\1.tmp") while ( $reader.peek() -ge 0 ) { $line = $reader.readline() $timestamp = $line.split('')[0] $data = $line -replace "$timestamp",'' $date = ([datetime]'01.01.1970').addseconds($timestamp).tostring('yyyy-MM-dd') $writer.writeline("$date$data") } $reader.close() $writer.close() |
Отправлено: 10:28, 14-04-2014 | #7 |
Пользователь Сообщения: 57
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Foreigner:
это он будет только на ту дату реагировать? я вот еще одно решение нашел....но опять таки не пойму где ввлд где вывод Цитата:
|
||
Отправлено: 17:22, 14-04-2014 | #8 |
Ветеран Сообщения: 1759
|
shmel_sv@vk, пример файла нужен, его же надо обработать.
|
Отправлено: 17:25, 14-04-2014 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Как заменить символы в текстовом файле | yaoleg2 | Скриптовые языки администрирования Windows | 0 | 29-03-2013 15:48 | |
CMD/BAT - Подсчет количества строк в текстовом файле | sl1mus | Скриптовые языки администрирования Windows | 3 | 28-06-2012 21:29 | |
VBS/WSH/JS - Поиск\редактирование строки в текстовом файле | pavvel | Скриптовые языки администрирования Windows | 2 | 11-04-2012 16:38 | |
CMD/BAT - [решено] Заменить строки в текстовом файле | aos | Скриптовые языки администрирования Windows | 3 | 10-02-2012 14:45 | |
подсчёт слов в текстовом файле | bakatum | Хочу все знать | 4 | 22-01-2010 21:10 |
|