grep
指定された単語が出現する行番号を提供できますか?
また、grep
ある行から下に向かって単語を検索することはできますか?
grep -n
一致の行番号を取得するために使用します。
特定の行番号でgrepを開始する方法はないと思います。そのためには、sed を使用します。たとえば、10 行目から開始して、一致する行の行番号と行を出力するには、次のようにします。
sed -n '10,$ { /regex/ { =; p; } }' file
行番号のみを取得するには、次を使用できます
grep -n 'regex' | sed 's/^\([0-9]\+\):.*$/\1/'
または、単に sed を使用することもできます。
sed -n '/regex/=' file
2 つの sed コマンドを組み合わせると、次のようになります。
sed -n '10,$ { /regex/= }' file
行番号を表示するために呼び出しtail +[line number] [file]
てパイプすることができます:grep -n
tail +[line number] [file] | grep -n /regex/
この方法の唯一の問題は、 によって報告される行番号が の実際の行番号よりも少なくgrep -n
なることです。[line number] - 1
[file]