У меня есть файл журнала ввода в этом форматеSed замещение и внешняя команда
May 23 2012 11:59:56
a;b;c
May 21 2012 16:54:12
d;e;f
May 19 2012 16:22:52
g;h;i
...
Я хочу вывести его в этом формате
2012-05-23
a;b;c
2012-05-21
d;e;f
2012-05-19
g;h;i
...
Использование sed
, я знаю, как заменить дату линии
% sed 's/.*:.*:.*/match_string/' input.txt
match_string
a;b;c
match_string
d;e;f
match_string
g;h;i
...
Использование date
, я знаю, как преобразовать даты:
% date -d 'May 23 2012 11:59:56' '+%Y-%m-%d'
2012-05-23
Но как заставить match_string оцениваться во время команды sed?
Возможно, вы хотели сказать «23 мая ...» вместо 'май 23 мая ...' в вашей команде «date». – devnull
Я исправил печатные ошибки, извините за это. –
Необходима ли внешняя команда? см. http://sed.sf.net/grabbag/tutorials/lookup_tables.txt – potong