grep
は、指定されたWordが表示される行番号を提供できますか?
また、grep
を使用して、特定の行から下に向かってWordを検索することはできますか?
つかいます 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]
少なくなることです。
または使用できます
grep -n . file1 |tail -LineNumberToStartWith|grep regEx
これにより、ファイル内の行の番号付けが処理されます。
grep -n . file1
これは、最後のLineNumberToStartWithを出力します
tail -LineNumberToStartWith
そして最後に、目的の行をgrepします(元のファイルの行番号が含まれます)
grep regEX