実は私が使っているのは
sed -e s/Perro-A//g -i *-a.log
*-a.log で終わる多くのファイルから Perro-A 文字列を削除します。
しかし、時には私のファイルにPerro-Aがないかもしれません。 Perro-B、Perro-C、Perro-14、Perro-X、Perro-DHFNなどの文字列もあります。
「Perro」で始まる文字列を削除するには、前のコマンドを更新する必要があります。どうすればいいですか?
ベストアンサー1
「Perro」で始まるすべての文字列を削除したい場合は、次のものを使用できます。
sed 's/Perro[^ ]*//g' *-a.log
ファイルをその場で編集するには、 で-i
オプションを使用できますsed
。
sed -i sed 's/Perro[^ ]*//g' *-a.log
修正する
複数のスペースを使用したくない場合は、次のものを使用できます。
sed -i sed 's/Perro[^ ]*//g' *-a.log | tr -s " "
サンプル、
rahul@rahul: cat a.log
Foo Perro-B Perro-C Bar
Perro-14 cmd Perro-X
Perro-DHFN abc xyz
aBcD Perro-14
rahul@rahul: sed 's/Perro[^ ]*//g' a.log | tr -s " "
Foo Bar
cmd
abc xyz
aBcD