2012-12-02 53 views
0

我有以下字符串:SED:如何在數字前刪除特殊字符?

E E E 11 5 E 3 4 

我需要能夠去除所有「E」字的數字之前去。從而使輸出會是這樣:

11 5 E 3 4 

第一個「E」的數量可以是不同的,所以它可以是「E E」或「E E E E」等 如何與SED辦呢?如果可能的話,使用其他shell utils。

回答

0
sed 's/^[E ]*\([0-9]\)/\1/' 

這將替換所有E和空間上線的第一位,而第一個數字之前,與第一位。

需要注意的是,這不適用於包含E和空格的只有的行;我從措辭中認爲,只有在線上有號碼的情況下才能進行拆除。爲了支持僅E的情況,只需使用s/^[E ]*//作爲該程序。

+0

感謝,看起來不錯 – minerals

0

找到另一種變體:

sed 's/^[E ]\+//g'