やりたいこと
以下のようなテキストファイルがあった場合に
$ cat test.txt H e l l o W o r l d
4行目~7行目の以下部分だけを表示したい。
l o W o
|
コマンド実行状況
$ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
$ awk --version GNU Awk 5.0.1...
ワンライナー
$ cat test.txt | awk '{if(4<=NR && NR <= 7) print $0}'
標準出力はこのようになります。
l o W o
以下、補足です。
補足
行番号に紐づく操作をしたい場合はNR
を利用します。
例えば以下ではNRが3の倍数であるか否かで条件分岐だせていますが
今回は同じロジックで論理積を取って挟み込むことで値を絞っています。
また、指定する数値を変数に置き換えて利用することも可能です。
$ cat test.txt | awk '{if(hoge<=NR && NR <= 7) print $0}' hoge=5 o W o
シェルスクリプトにして利用すれば、変数は動的に変化させることができるので便利です。
以上、ご参考になれば幸いです。