特定の数字のみが含まれている場合は、sedを使用して行全体を削除してください。

特定の数字のみが含まれている場合は、sedを使用して行全体を削除してください。

txtファイルがあります。

123
456
789
456
123456

ファイルから特定の文字(例:(123))を削除したいです。私は前に試しました

$ sed -i '/123/d' dummy.sh
$ vi dumm.txt
456
789
456

以下のコマンドを実行すると(123および)すべての単語が削除されますが、ファイルから削除するだけ123456です。123

$ sed -i 's/123//g' dummy.sh
$ vi dumm.txt
456
789
456
456

次のコマンドを実行すると、123nullに置き換えられます。

特定の数だけを含む行全体を削除する方法を教えてくれる人はいますか?

答え1

行全体を削除しようとしているの123か空白行に置き換えようとしているのかわかりません。とにかく、パターンに線の^始めと終わりにアンカーポイントを追加するだけです。$

sed -i '/^123$/d' dummy.sh      #delete whole line
sed -i 's/^123$//' dummy.sh     #replace with empty line

関連情報