以下のファイルがあります:dskldfsd.com
domain
domain.com
sub.domain.com
domain.main.com
anythinghere
単語を含む行を削除したいですdomain
。 grepを使用すると、このコマンドは私が望む正確な行を探します。
grep -w '^domain$' test.txt
domain
ところで、行の先頭から最後まで、1つの単語を含むこの行を削除したいと思います。単語がdomain
文字列の一部である行を維持したいです。
答え1
sedを使用してください:
sed -i -e '/^domain$/d' test.txt
答え2
どうですか?
grep -v '^domain$' test.txt
答え3
なぜgrep -v '^domain$'なのか私が理解しているところによると、質問によると、単にgrep -v 'domain'です。
答え4
標準ツールを使用すると仮定すると、次のようにできます。
grep -xF -v 'domain' test.txt >newtest.txt
この-x
フラグは一致grep
を行全体に適用し、-F
パターンをgrep
正規表現ではなく固定文字列として扱うようにします。文字列だけでなく-v
すべての行が含まれるように、一致の意味を逆に置き換えます。結果はに記録されます。test.txt
domain
newtest.txt