Portál AbcLinuxu, 12. května 2025 04:05
vstup: 2007-02-08T07:34:04 vystup: 2007-02-08-07:34:04 jde to nejak pomoci sedu nebo awk pres regularni vyrazy neco jako s/[1-9]T[1-9]/&-&/g ?
sed 's/([1-9])T([1-9])/\1-\2/'
nebo tak nejak...
echo "2007-02-08T07:34:04" | sed -e 's/\([0-9]\{2\}\)T\([0-9]\{2\}\)/\1-\2/' 2007-02-08-07:34:04Ale verim, ze to pujde nejak elegantneji...
\{2\}
tam byt nema...
[0-9]{2}
znamena "dve cislice", ty \ jsou escape znaky...
Diky. Ale to {2} je asi jen u sedu, znam totiz jen *,+,?
sed
u je \{2\}
stejně jako třeba ve vim
u a v perlu je {2}
a v grepu je to nebo ono podle toho jaky se použije přepínač. Ostatně i ve vim
u to jde různě přepínat. Rozhodně to ale není jen u sed
u.
tr "T" "-"
Pouze pro tento pripad
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.