akh*_*288 1 linux vi vim awk sed
我想跳过两行并删除两行直到文件末尾
如果我的文件包含
111
222
333
444
555
666
777
888
999
1010
1111
Run Code Online (Sandbox Code Playgroud)
我想修改它看起来像
111
222
555
666
999
1010
Run Code Online (Sandbox Code Playgroud)
运用 awk
awk 'NR%4==1 || NR%4==2' file
111
222
555
666
999
1010
Run Code Online (Sandbox Code Playgroud)
NR%4==1
打印线1,5,9等
NR%4==2
打印线2,6,10等
所以它给出1,2,5,6,9,19等线
其他版本:
awk 'NR%4~/^[12]$/' #JS?
awk '(NR-1)%4<2' #Ed Morton
Run Code Online (Sandbox Code Playgroud)