私は次の文字列を持っています:
E E E 11 5 E 3 4
数字の前にあるすべての「E」文字を削除できる必要があります。そのため、出力は次のようになります。
11 5 E 3 4
最初の「E」の数は異なる可能性があるため、「EE」または「EEEE」などのいずれかになります。SEDでそれを行うにはどうすればよいですか?可能であれば、代替シェルユーティリティを使用します。
sed 's/^[E ]*\([0-9]\)/\1/'
これにより、行の最初の桁の前にあるすべてのEとスペース、およびその最初の桁が最初の桁に置き換えられます。
注意点は、これはEとスペースのみで構成される行では機能しないということです。言葉遣いから、行に数字がある場合にのみ削除が行われると仮定しました。Eだけでケースをサポートするには、単にs/^[E ]*//
プログラムを使用します。
別のバリアントが見つかりました:
sed 's/^[E ]\+//g'