我想使用UNIX Bash命令仅保留.txt文件的某些行,基于“代码”编号:
Name
Ignore
2
1357 1817
1366 1857
Name
Ignore
3
293 142
302 181
303 181
Name
Ignore
7
1596 1787
1595 1787
1594 1787
1565 1803
1565 1804
1565 1805
1565 1806
Other-name
No-interest
No-interest
No-interest
因此,只有“名称”的行才有意义。 “其他名称”没有意义。 “名称”后面的SECOND ROW是“名称”感兴趣的行数的CODE。但是我不想保留所有,只有第一行和最后一行跟随代码。因此,如果代码为i 3,我希望第1行和第3行跟随代码。如果代码为i 7,我想要在代码行的第1行和第7行之后。在前。输出上面应该是:
1357 1817
1366 1857
293 142
303 181
1596 1787
1565 1806
非常感谢!
答案 0 :(得分:3)
你可以尝试
awk -f ext.awk input.txt
其中input.txt
是您的输入文件,ext.awk
是
/^Name/ {
getline
getline
n=$1
for (i=1; i<=n; i++) {
getline
if (i==1 || i==n) print
}
}