Debian Linux で sed コマンドを使用してファイルの行を削除する

Debian Linux で sed コマンドを使用してファイルの行を削除する

Linuxでsedコマンドを使用して単一のファイルの行を削除する方法を知っているかどうかを尋ねたいと思います。

たとえば、次のファイルがあります。

       something
       something-
       somethingelse

「何か」を含むすべての行を削除するsedコマンドを作成したいのですが、何かがある行も削除したくありません。 「-」などの特定の文字はどこにありますか?アドバイスありがとうございます。

私はsed -i "/something/d"のようなものを作ってみました。

ベストアンサー1

sed -e '/something[^-]/d' -e '/something$/d' -i "$file"

Philipposが提案した短い内容は次のとおりです。

sed -i '/something\([^-].*\)*$/d' "$file"

おすすめ記事