【发布时间】:2018-08-18 19:32:05
【问题描述】:
我正在尝试比较 2 个文件中的值。对于 Summits3.txt 中的每一行,我想将第 1 列中的值定义为“Chr”,然后在generef.txt 中找到我在第 2 列中具有“Chr”值的行。 然后我想从generef.txt输出一些关于该行的信息到out.txt,然后重复直到结束。 我正在使用以下脚本:
#!/bin/bash
IFS=$'\n'
for i in $(cat Summits3.txt)
do
Chr=$(echo "$i" | awk '{print $1}')
awk -v var="$Chr" '{
if ($2==""'${Chr}'"")
print $2, $3
}' generef.txt > out.txt
done
它“有效”,但它只比较 Summits3.txt 最后一行的值。它似乎没有循环通过 awk 位。
如果可以的话,请帮忙!
【问题讨论】:
-
欢迎来到 Stack Overflow,请在您的帖子中也将示例 Input_file 和预期的输出示例文件发布在代码标签中。
标签: bash variables for-loop awk