私はいつも何千ものフィードバックの中からいくつかのキーワードを見つけて、どの行に配置する必要があります。私はフィードバックをファイルにリダイレクトし、vimにファイルを開き、vimコマンドを実行して:set nu
これを実行しました。ただし、これは非常に不便で不要なディスクIOを生成します。
だから、次のような結果を得るためのコマンドがあるのだろうか。
$ sudo my-command | line-number-command | grep 'foo\|bar'
114 bla bla bla foo
514 bla bar bla bla
810 foo bla bla bla
1919 bla bla bar bla
答え1
あなたの場合、パターンに一致する行の番号だけを付ければ、追加のコマンドは必要ありません。単に以下を使用する方が-n
簡単で効率的ですgrep
。
$ sudo my-command | grep -n 'foo\|bar'
114: bla bla bla foo
514: bla bar bla bla
810: foo bla bla bla
1919: bla bla bar bla
プレフィックスは膨大な資源を無駄にするみんな小さな部分だけを印刷するには、ファイルに数字を含む行を入力します(そしてその過程で追加の中間ファイル/パイプを作成します)。
grep -n $
(しかし、番号付けを使用することもできます。みんなワイヤー!おそらくそれほど効率的ではないでしょう。しかし、それほど多くはありません。そして、忘れるよりもnl
忘れてしまう可能性が高いので、覚えやすくなります。 )nl
grep
答え2
sudo my-command | cat -n | grep 'foo\|bar'
あるいは、コメントでSteeldriverが述べたように、nl
より良い答えになるかもしれません。