これを行うためにsedを使用したいと思います。私は2つのファイルを持っています:
keys.txt:
host1
host2
test.txt
host1 abc
host2 cdf
host3 abaasdf
sed を使用して、keys.txt のキーワードを含む test.txt の行を削除したいと考えています。したがって、test.txt の結果は次のようになります。
host3 abaasdf
誰かがsedでそれを行う方法を教えてもらえますか?
ありがとう、
これを行うためにsedを使用したいと思います。私は2つのファイルを持っています:
keys.txt:
host1
host2
test.txt
host1 abc
host2 cdf
host3 abaasdf
sed を使用して、keys.txt のキーワードを含む test.txt の行を削除したいと考えています。したがって、test.txt の結果は次のようになります。
host3 abaasdf
誰かがsedでそれを行う方法を教えてもらえますか?
ありがとう、
これに使用することをお勧めしgrep
ます(特にfgrep
、正規表現が含まれていないため)。
fgrep -v -f keys.txt test.txt
うまくいきます。これsed
はすぐに機能します:
sed -i.ORIGKEYS.txt ^-e 's_^_/_' -e 's_$_/d_' keys.txt
sed -f keys.txt test.txt
(これにより、元keys.txt
の場所が (バックアップを使用して) ソース可能な sed スクリプトに変更されます。)
これはうまくいくかもしれません(GNU sed):
sed 's|.*|/^&\\>/d|' keys.txt | sed -f - test.txt