Par*_*thi 6 sed awk text-processing
我有一个控制文件 - cntl.txt
2
3
5
Run Code Online (Sandbox Code Playgroud)
数据文件 - data.txt
red
blue
yellow
green
violet
orange
Run Code Online (Sandbox Code Playgroud)
我需要从控制文件中读取匹配的行,这里的预期输出是:
blue
yellow
violet
Run Code Online (Sandbox Code Playgroud)
一个非常低效的解决方案示例:
for i in $(<control.txt); do awk -v c=$i 'NR~c{ print $0 }' data.txt; done;
Run Code Online (Sandbox Code Playgroud)
我也报告了我今晚学到的一个很好的解决方案:
awk 'FNR==NR{ z[$0]++;next }; FNR in z' control.txt data.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
703 次 |
| 最近记录: |