ASA*_*SAD 4 command-line awk text-processing
我有两个文件fileA和fileB。
我必须从 fileA 中提取 column1 awk '{print $1}'
,然后将输出搜索到其他 fileB 中,并将匹配的记录保存到一个新文件 fileC 中,例如:
fileA
:
seg1 rec1
seg2 rec2
seg3 rec3
Run Code Online (Sandbox Code Playgroud)
我需要使用 awk 命令检索第 1 列,并搜索第 1 列fileB
以检索如下记录:
fileB
:
seg1 one
seg2 two
seg3 three
seg4 four
seg5 five
Run Code Online (Sandbox Code Playgroud)
从文件A 中提取列1 数据,并使用该数据在文件B 中进行搜索,并将匹配的记录保存到测试文件中。我的输出应该是这样的:
fileC
:
seg1 one
seg2 two
seg3 three
Run Code Online (Sandbox Code Playgroud)
可以通过以下方式轻松实现awk
:
awk 'NR==FNR{inFileA[$1]; next} ($1 in inFileA)' fileA fileB > write_to_fileC
Run Code Online (Sandbox Code Playgroud)
结果,
seg1 one
seg2 two
seg3 three
Run Code Online (Sandbox Code Playgroud)
在上面,首先我们正在读取fileA并将整个 column1 保存到一个名为inFileA的数组中,然后在 fileB 中查找它的第一列,如果它与 fileA 中保存的 column1 匹配,则去打印 fileB 的整行。
归档时间: |
|
查看次数: |
4855 次 |
最近记录: |