0

私は次の文字列を持っています:

E E E 11 5 E 3 4

数字の前にあるすべての「E」文字を削除できる必要があります。そのため、出力は次のようになります。

11 5 E 3 4

最初の「E」の数は異なる可能性があるため、「EE」または「EEEE」などのいずれかになります。SEDでそれを行うにはどうすればよいですか?可能であれば、代替シェルユーティリティを使用します。

4

2 に答える 2

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

これにより、行の最初の桁の前にあるすべてのEとスペース、およびその最初の桁が最初の桁に置き換えられます。

注意点は、これはEとスペースのみで構成される行では機能しないということです。言葉遣いから、行に数字がある場合にのみ削除が行われると仮定しました。Eだけでケースをサポートするには、単にs/^[E ]*//プログラムを使用します。

于 2012-12-02T00:19:56.100 に答える
0

別のバリアントが見つかりました:

sed 's/^[E ]\+//g'
于 2012-12-02T00:25:06.150 に答える