从多个文件打印请求的行

l v*_*zco 2 awk sed

我想从多个文件中获取特定的行.

我试过这样做:

sed -n "5p;10p" file1.txt file2.txt
Run Code Online (Sandbox Code Playgroud)

但它只打印第一个文件中的行,有没有人有解决方案?谢谢

kar*_*kfa 6

awk 救援!

$ awk 'FNR==5 || FNR==10' file{1,2}.txt
Run Code Online (Sandbox Code Playgroud)

将从两个文件中打印第5行和第10行.

或者,每隔5行,轻松(5,10,15,...)

$ awk '!(FNR%5)' file{1,2}.txt
Run Code Online (Sandbox Code Playgroud)

或者,素数线

$ awk '{for(i=2;i<=sqrt(NR);i++) if(!(NR%i)) next} NR>1' file{1,2}.txt
Run Code Online (Sandbox Code Playgroud)