尝试了几个类似问题的答案,但结果并不完全正确。尝试在第二个文件中搜索变量,如果在那里则替换为第二个变量,否则保持原始...
FILE1.TXT
a
2
c
4
e
f
FILE2.TXT
2 b
4 d
通缉Output.txt
a
b
c
d
e
f
到目前为止,我所做的工作似乎有点工作,但在替换发生的任何地方,我都会得到一个空白行而不是新变量...... 当前Output.txt
a
c
e
f
Curent code ....
awk -F'\t' 'NR==FNR{a[$1]=$2;next} {print (($1 in a) ? a[$1] : $1)}' file2.txt file1.txt > output.txt
也试过并得到了同样的结果......
awk -F'\t' 'NR==FNR{a[$1]=$2;next} {$1 = a[$1]}1' file2.txt file1.txt > output.txt
抱歉,首先写错了..修复了键值问题。
尝试过你做了什么,仍然没有在output.txt
中丢失awk -F'\t' 'NR==FNR{a[$1]=$2;next} $1 in a{$1 = a[$1]}1' file2.txt file1.txt > output.txt
答案 0 :(得分:1)
您的键值对不正确... $ 1是键,$ 2是值。
$ awk -F'\t' 'NR==FNR{a[$1]=$2;next} $1 in a{$1=a[$1]}1' file.2 file.1
a
b
c
d
e
f
答案 1 :(得分:0)
尝试以下解决方案 -
awk 'NR==FNR{a[$1]=$NF;next} {print (a[$NF]?a[$NF]:$1)}' file2.txt file1.txt
a
b
c
d
e
f