Bash 如何每y行数提取x行
我有一个大文件,我想从中提取x行每y行数。我四处搜索,找到了一些关于如何打印前z行的答案,比如tail-n+Bash 如何每y行数提取x行,bash,sed,tail,Bash,Sed,Tail,我有一个大文件,我想从中提取x行每y行数。我四处搜索,找到了一些关于如何打印前z行的答案,比如tail-n+ 我正在尝试将它与sed结合起来,但不知道如何结合。要打印每个tex行的前两行,请尝试: awk -v x=2 -v y=10 '(NR - 1) % y < x' 例如: $ seq 20 | awk -v x=2 -v y=10 '(NR - 1) % y < x' 1 2 11 12 工作原理 Awk逐行读取输入。如果条件NR-1%y
我正在尝试将它与sed结合起来,但不知道如何结合。要打印每个tex行的前两行,请尝试:
awk -v x=2 -v y=10 '(NR - 1) % y < x'
例如:
$ seq 20 | awk -v x=2 -v y=10 '(NR - 1) % y < x'
1
2
11
12
工作原理
Awk逐行读取输入。如果条件NR-1%y
awk -v x=2 -v y=10 '(NR - 1) % y < x'
例如:
$ seq 20 | awk -v x=2 -v y=10 '(NR - 1) % y < x'
1
2
11
12
工作原理
Awk逐行读取输入。如果条件NR-1%y
sed -n 'p;n;p;n;p;n;n;n'
这将写入3,然后跳过3。每个p写入当前行,然后n获取下一行
我不建议将其用于x和y的高值,因为它会变长。我喜欢awk答案,但如果必须使用sed:
sed -n 'p;n;p;n;p;n;n;n'
这将写入3,然后跳过3。每个p写入当前行,然后n获取下一行
我不建议将其用于x和y的高值,因为它会变长。您的意思是提取行[1…x]、删除行[x+1…y+x]、提取行[y+1…y+x]、删除行[y+x+1…2y]等等?您的意思是提取行[1…x]、删除行[x+1…y]、提取行[y+1…y+x]、删除行[y+x+1…2y]等等?关于其工作原理的精彩解释。我还学习了seq 20的命令。对它的工作原理有很好的解释。我还学习了seq 20的命令。