使用 awk 代码匹配两个文件
有两个文件
first.file
- M1
- M2
- M3
...
secondary.file
- A1 M1
- A2 M1
- A2 M3
- A3 M2
- A3 M4
- A3 M5
....
我想将first.file与second.file匹配我的结果文件应该是这样的:
result.file
- A1 M1
- A2 M1
- A2 M3
- A3 M2
我怎样才能用 awk 代码做到这一点?
先感谢您
There are two files
first.file
- M1
- M2
- M3
...
second.file
- A1 M1
- A2 M1
- A2 M3
- A3 M2
- A3 M4
- A3 M5
....
I want to match first.file to second.file My result file should be like that:
result.file
- A1 M1
- A2 M1
- A2 M3
- A3 M2
How can I do that with awk codes ?
Thank you in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用以下命令:
grep
就足够了。即使我们也可以使用 awk 来做到这一点,我更喜欢 grep
如果你仍然坚持使用 awk,那么我在 awk 中也有一个非常简单的解决方案。
awk 'FNR==NR{a[$0];next}($0 in a)' file2 file1
说明:
将 file2 条目放入数组中。然后迭代 file1,每次都在数组中查找这些条目。
Use the below:
grep
is enough.even though we can do this with
awk
too,i prefergrep
If you still insist on awk,Then i have a very simple solution in awk too.
awk 'FNR==NR{a[$0];next}($0 in a)' file2 file1
Explanation:
Put file2 entries into an array. Then iterate file1, each time finding those entries in the array.