![]() |
unix epoch. переформатирование даты в нормальную в текстовом файле
доброго времени суток. мой любимый раздел на этом форуме
не знаю как решить такую проблему. как перевести юникс время в обычное с помощью ексель я знаю. но мой файл содержит более миллиона строк формат такой 1183557532 (знак табуляции) инфо-инфо453535 надо чтоб выглядело так 2014-04-01 (знак табуляции) инфо-инфо453535 тоесть нужна сама дата (без часов, минут и секунд) |
хехе
нашел сам решение но еще не опробЫвал..отпишусь позже...пока цытата с другого сайта 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. |
парни помогите. ничего не получается... 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, Вариант на PowerShell, хоть и оффтоп:
Код:
gc 1.txt | % { |
большое спасибо!!!
а как в повершел сделать точно так же но наоборот? из обычного в юникс формат - 2014-03-09 23-00 |
Цитата:
Код:
$a = [datetime]::parseexact('2014-03-09 23-00','yyyy-MM-dd HH-mm',$null) |
shmel_sv@vk, По поводу больших файлов такая конструкция:
Код:
$reader = [io.file]::opentext("C:\Files\1.txt") |
Цитата:
это он будет только на ту дату реагировать? я вот еще одно решение нашел....но опять таки не пойму где ввлд где вывод Цитата:
|
shmel_sv@vk, пример файла нужен, его же надо обработать.
|
Время: 11:07. |
Время: 11:07.
© OSzone.net 2001-