Yanıtlar:
Sed perl olmadığından - sed regexes bir \d
steno yok:
sed 's/[[:digit:]]\+\.//g'
Burada düzenli ifade belgelerini sed .
/[[:digit:]]*\. /
için dizeyle eşleşir foo.
. İsterseniz bir veya daha fazla kullanılmasını \+
gösterildiği gibi
İki problem:
sed
desteklemiyor \d
. [0-9]
Veya kullanın [[:digit:]]
.
+
özel bir anlam kazanabilmek için ters takılmalıdır \+
.
interpret regular expressions as extended (modern) regular expressions rather than basic regular expressions (BRE's).
Ne yazık ki, bu \ d konuda ... ile yardımcı olmuyor
-E
GNU sed için çalışmıyor, bunun -r
yerine kullanır .
sed
taşınabilirlik söz konusu olduğunda berbat görünüyor ...
-E
BSD sed ve -r
GNU sed'de), BSD sed'de ne, ne +
de \+
(aynı ?
), GNU sed'de çalışamazsınız. onları ters eğik çizgi ile çalışmalarını sağlayın. Bu nedenle komut
Sed man sayfası re_format man sayfasına başvuruyor. 2 ayrım yapar: (1) genişletilmiş düzenli ifadelere karşı eski; (2) iyileştirilmemiş normal ifadeler ile karşılaştırılmamış. 4 kombinasyon da mümkündür. Hem eski hem de genişletilmiş sed için destek var, ancak her iki durumda da yalnızca gelişmiş olmayanlar için destek var. \ D operatörü, gelişmiş normal ifadelerin bir özelliğidir, bu nedenle sed tarafından desteklenmez.