Linux コマンドを使用して、テキスト ファイルから行番号 1、11、21、31 からデータを取得することは可能ですか?
2、12、22、32 などについても同じことを行う必要があります。
Linux コマンドを使用して、テキスト ファイルから行番号 1、11、21、31 からデータを取得することは可能ですか?
2、12、22、32 などについても同じことを行う必要があります。
これに使用できますawk
:
awk '(NR % 10 == 1){ print }' your_input_file
例えば:
$ seq 1 100|awk '(NR%10 == 2){print}'
2
12
22
32
42
52
62
72
82
92
glenn jackmanが指摘しているように、スクリプトをパラメーター化して、よりawk
使いやすくすることができます。そして、それprint
がデフォルトのアクションであるとすると、次のように書くことができます。
$ seq 1 20|awk -v step=10 -v idx=3 'NR%step==idx'
3
13