禁止された行を含むテキストファイルがあるとしますforbidden.txt
。テキストファイル内のコマンド出力のすべての行をフィルタリングする簡単な方法は何ですか?
cat input.txt | exclude-forbidden-lines forbidden.txt | sort
答え1
grep
次のように使用してください。
$ grep -v -x -F -f forbidden.txt input.txt
長いオプションのリストは次のことをgrep
意味します。
-v
一致の意味を裏返します。つまり、線を探します。いいえマッチ。-x
パターンマッチング時にパターンマッチングが必要ワイヤーつまり、行のどこでも発生しません。-F
パターンを一致させるときは、次のように処理します。固定文字列つまり、正規表現ではありません。-f
与えられたファイルからパターン()を読み込みますforbidden.txt
。
その後、パイプで接続するか、sort
必要な操作を実行してください。