【发布时间】:2021-11-26 05:46:28
【问题描述】:
这似乎有一个简单的解决方案,但我被卡住了。我想在密钥文件中查找主文件的第二列,对于任何匹配的密钥,只打印前两列,其余的则打印整个记录。我有一个工作脚本,但它打印匹配键的整行。你能帮忙吗?
awk 'FNR == NR {key[$1]; next} $2 in key {print $1,$2}' keyfile mainfile > outfile
主文件:
PSHELL 10 136514 0.7
PSHELL 15 136514 0.7
PSHELL 20 136513 2.0
PSHELL 30 13571 1.7
密钥文件:
10
30
输出文件:
PSHELL 10
PSHELL 15 136514 0.7
PSHELL 20 136513 2.0
PSHELL 30
【问题讨论】:
-
你想用
$0 = "$" $0做什么? -
我更新了脚本...这确实打印了匹配键的 2 列,但跳过了不匹配的行。