次のテキスト入力があります。
TOKEN=32141234134143
ERROR=this is an error
上記の2行は同時に表示されません。 TOKENまたはERRORのいずれかですが、両方ではありません。
grep
上記の入力を次のように使用します。
cat input |grep TOKEN
エラーがあると何も出力されません。私が望むのは、テキストが何であれ、grepは正規表現とのみ一致することです。いいえフィルタテキストとgrepは、一致するものがない場合にのみゼロ以外の終了コードを返します。
これは可能ですか、それとも別のコマンドラインツールがありますか?
編集する:私はgrepの出力が次のようになりたいです。みんな一致しない行を含むテキストを入力してください。いいえ-q
grepオプションで提供されるNONEテキスト。
ベストアンサー1
仕事のようです。ack
(使用直接モデル):
ack --passthru TOKEN input
またはディストリビューションに応じて
ack-grep --passthru --color TOKEN input
入力全体を印刷し、一致を強調表示し、1
一致がない場合は終了します(0
見つかった場合)。