RegEx Syntax in sed

mardi 4 août 2015

Hallo

warum funktionieren "gewöhnliche" RegEx Kürzel wie etwa \d oder \w etc. nicht in sed?
Code:

# ls -l frwiktionary_2015-08-04.slob
-rw-r--r-- 1 www-data www-data 438904772 Aug  4 11:17 frwiktionary_2015-08-04.slob
; nur die Dateigroesse soll raus geholt werden
ls -l frwiktionary_2015-08-04.slob | sed -r 's/.*(\d{4,9}*).*$/\1/'
; kein Ergebnis, aber das geht:
ls -l frwiktionary_2015-08-04.slob | sed -r 's/.* ([[:digit:]]{4,9}) .*$/\1/'
438904772 ; richtiges Ergebnis
; auch das geht:
ls -l frwiktionary_2015-08-04.slob | sed -r 's/.* ([0-9]{4,9}) .*$/\1/'
438904772

Ich will hier im Beispiel einfach die Zahlenkolonne 438904772 raus holen, die hat mindestens 4, max. 9 Zahlen. seds RegEx kennt aber anscheinend das doch in basic RegEx enthaltene \d überhaupt nicht, wohl aber so ein paar Spezialabkürzungen.
Oder ist \d gar nicht Standard RegEx?

Danke

franc


0 commentaires:

Enregistrer un commentaire

 

Lorem

Ipsum

Dolor