sed は、txt ファイルからパターンと一致しない行を削除します。

sed は、txt ファイルからパターンと一致しない行を削除します。

私はいくつかの異なるtxtファイルを一覧表示するtxtファイルを扱っています。そのうちの多くは私が誤ってコピーしました。

私はmacOSを使用しているので、重複ファイルを一覧表示する行はすべてパターンで終わります(NUMBER).txt。このパターンが含まれていないすべての行を削除したいと思います。

正規表現をテストするためにこのコマンドを考えましたが、次の終わりの行も印刷するのでうまくいきません(WORD).txt

sed '/\(\d\)\.txt$|\(\d\d\)\.txt$|\(\d\d\d\)\.txt$/p' file.txt

何か欠けていることがわかりますが、何かはわかりません...助けてくれてありがとう!

ベストアンサー1

これは働きます:

sed -E -n '/.*[0-9]+\.txt$/p' file.txt

見たら情報セット、段落2.1で設定を使用する方法のいくつかの例を見つけることができますsed -n '...p'

上記のコマンドは標準出力として印刷されます。-iファイルをその場で変更するには、このオプションを追加してください。

おすすめ記事