Portál AbcLinuxu, 12. května 2025 05:58
mam datum 25.03.2005 12:32:15 6 chci prohazet den, rok, mesic... pomoci AWK tj. FS ma byt dvojtecka, mezera, tecka cat datum|awk ' FS=":|\\.| " {print $3" "$2" "$1" "$4}' proc je nutno tecku eskejpovat 2x? \\.
$ echo 1.2 | awk 'FS="\." {print $1}' awk: warning: escape sequence `\.' treated as plain `.' 1.2Vypadá to, že i awk sám dělá nějaké unescapování vstupu a až pak výsledek začne zpracovávat např. jako regulární výraz.
#!/usr/bin/gawk -f BEGIN {FS = "."} { den = $1 ; mesic = $2 ; rok = substr($3,0,4) ; zbytek = substr($3,6) print rok mesic den, zbytek }
awk -F '[.: ]' '{print $3" "$2" "$1" "$4}'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.