シェルスクリプトから行を削除する

シェルスクリプトから行を削除する

私はこのファイルを持っています:

# more file.txt
 2c2
lns-ld-wall-01-t2 old:261,260
4c4
Prive_ORANGE old:258,259

2c2この行とこの行と同じ行の両方を削除する必要があります 4c4。シェルスクリプトでこれをどのように実行できますか?

ベストアンサー1

これは働きます:

sed 's/.*[0-9]c[0-9].*//g' file.txt

ただし、コメントで述べたように、上記のコマンドは行全体を削除しないため、一致する行にdこのコマンドを使用する方が良い方法です。

sed '/[0-9]c[0-9]/d' file.txt

または、GNUの拡張正規表現sed-EBSD *互換性のために好ましいフラグsed)を使用してください。

sed -E '/^[[:blank:]]*[0-9]+[a-z]+[0-9]/d' file

おすすめ記事