【发布时间】:2018-07-12 00:09:35
【问题描述】:
我想将文件 for_matching 中的第 1 列和第 2 列与路径中不同目录中的文件进行匹配并命名为 /.file 并打印与这些列匹配的整行
/.file(示例)
carrot 124555 1 2 6
hair 9922 2 2 2
tree 2223 2 1 2
for_matching
carrot 124555
输出
carrot 124555 1 2 6
现在我可以在两者之间匹配第 1 列。
for i in */*.file; do awk -F, 'FNR==NR {a[$1]=$0; next}; $1 in a {print a[$1]}' $i for_matching > $i.matched; done
【问题讨论】:
-
请使用 glob,而不是
ls循环文件:for i in */*.file并在 2018 年停止使用反引号,更喜欢$( )