【发布时间】:2022-02-01 11:52:45
【问题描述】:
我想从文件中选择行。我对三个特定的行感兴趣。
输入:
line1
line2
line3
line4
line5
line6
line7
输出:
line2
line3
line7
没有选择线的特定模式。 我熟悉 sed 解决方案:
sed -n '2p; 3p; 7p' file
但是,我之后使用 awk 来选择这些行的特定字段。因此,我更愿意单独使用 awk 而不是管道 sed 和 awk。我仍然无法使用 awk 找到简单的解决方案。
【问题讨论】:
-
awk 'FNR==2 || FNR==3 || FNR==7' Input_file这就是您要找的东西吗?这将从文件中打印第 2、3、7 行。 -
或者如果你穿着漂亮的裤子:
awk -v p=2,3,7 'BEGIN{split(p,a,/,/);for(i in a)b[a[i]]}(FNR in b)' file
标签: awk