Mam plik dziennika wejściowego w tym formacieSed podstawienie i poleceń zewnętrznych
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
...
chciałbym wyprowadzać go w tym formacie
2012-05-23
a;b;c
2012-05-21
d;e;f
2012-05-19
g;h;i
...
Korzystanie sed
, wiem jak zastąpić datę linie
% sed 's/.*:.*:.*/match_string/' input.txt
match_string
a;b;c
match_string
d;e;f
match_string
g;h;i
...
Korzystanie z date
, wiem jak konwertować daty:
% date -d 'May 23 2012 11:59:56' '+%Y-%m-%d'
2012-05-23
Ale w jaki sposób można dokonać porównania parametru match_string podczas komendy sed?
Prawdopodobnie chciałeś powiedzieć "23 maja ..." zamiast "Maj 23 maja ..." w twoim poleceniu 'date'. – devnull
Poprawiłem błędy w pisowni, przepraszam za to. –
Czy konieczne jest zewnętrzne polecenie? zobacz http://sed.sf.net/grabbag/tutorials/lookup_tables.txt – potong