【问题标题】:How to extract entries from a .txt file using another .txt file as a list如何使用另一个 .txt 文件作为列表从 .txt 文件中提取条目
【发布时间】:2013-10-23 00:40:40
【问题描述】:

非常感谢您对此的帮助。

我目前有两个文本文件,fileA.txt 是这样的:

AB307 0.112 0.220 0.341
AB101 0.223 0.474 0.175
AB201 0.101 0.298 0.001
AB209 0.245 0.199 0.222

等等。它基本上是一个站点列表,后面有一堆坐标。

在我的第二个文本文件 fileB.txt 中,它是一个仅包含站点名称的列表,例如:

AB101
AB307
AB209

我想做的是制作第三个文件,它只包含 fileB 上列出的条目,但包含 fileA 中所示的所有详细信息,即,使用上述条目,它将生成 fileC.txt,如下所示:

AB307 0.112 0.220 0.341
AB101 0.223 0.474 0.175
AB209 0.245 0.199 0.222

有谁知道我该怎么做,最好使用 awk 或类似的东西?

【问题讨论】:

    标签: bash sed awk


    【解决方案1】:

    grep 足以胜任这项工作:

    grep -Fwf fileB.txt fileA.txt
    
    AB307 0.112 0.220 0.341
    AB101 0.223 0.474 0.175
    AB209 0.245 0.199 0.222
    

    【讨论】:

      【解决方案2】:

      这将打印fileA的行,其中第一个单词是fileB中的行

      $ awk 'NR==FNR{a[$0];next}$1 in a' fileB fileA
      AB307 0.112 0.220 0.341
      AB101 0.223 0.474 0.175
      AB209 0.245 0.199 0.222
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多