【问题标题】:Matching based on patern in one of two files - Linux基于两个文件之一中的模式进行匹配 - Linux
【发布时间】:2016-06-22 20:12:01
【问题描述】:

我有两个不同格式和记录数量的文件。我想根据 File1 中的记录搜索 File2 中的行,并将 File2 中的整个匹配行保存在一个新文件中。文件示例如下:

输入文件 1

991888
16889000
567899
....
....

输入文件 2

16889000    xxxx    yyyy
687398793
5778
567899      aaaa    bbbb
999178
.....

输出文件

16889000    xxxx    yyyy
567899      aaaa    bbbb

我尝试过使用各种 grep 选项,但没有运气。使用开箱即用的工具解决此问题的任何帮助都会有所帮助。

谢谢!

【问题讨论】:

  • 如果普通工具不起作用,我敢打赌你的文件中至少有一个 DOS 换行符。

标签: linux sed grep pattern-matching


【解决方案1】:
awk 'FNR==NR {if (NF > 0) a[FNR""] = $0; next}; {for (x in a) {if ($1 ~ a[x]) {print}}}' input_file1.txt input_file2.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 2023-01-18
    • 2015-04-14
    • 1970-01-01
    相关资源
    最近更新 更多