回答:
grepは、非常に一般的なUnix / Linuxコマンドです。少なくとも、基本grep(たとえばegrep、別のフィルターコマンド)をインストールする必要のあるディストリビューションにはまだ出会っていません。
パイプ入力を取得し、特定の文字列をフィルタリングして、残りを標準出力に書き込みます。
そのように使用してフィルターで除外するには、次の操作を実行できます(catファイルを標準出力に出力する場合)
cat "some_file.txt" | grep -v "text to omit"
さらに、grepファイルでも機能するため、上記のコマンドは次のように記述できます。
grep -v "text to omit" "some_file.txt"
-vフラグが伝えるgrepすべてを印刷することを除き、指定したテキスト。大文字と小文字を区別しない検索が必要な場合は、-iフラグを指定する必要があります。
行ごとに1つのアイテムではなく、改行ではなくスペースで区切られた同じ行にあるすべてのアイテムです。
これに、forループを追加して単語を繰り返し処理し、grepを使用して必要なものを実現できます。例:
for word in "hello there how" are you how "am i today"; do echo $word; done | grep -v "how"
この出力は次のようになります。
are
you
am i today
また、1行で出力するには、trコマンドを使用\nしてスペースに変換します。
for word in "hello there how" are you how "am i today"; do echo $word; done | grep -v how | tr '\n' ' '
出力は次のようになります。
are you am i today
の最初の部分for word inはシェルスクリプトfor loopです。提供されるリンクは固有ですBASHが、構文は他のシェル間で非常に類似しているため(少なくともCSH、KSHおよびASH)、特定のシェルに一致するように調整する必要があります。
それが役立つことを願っています。
tr..にパイプするだけです。例:for word in blah blah blah; do echo $word; done | grep -v omit | tr '\n' ' '