我有很长的单词列表(重复),如下所示:
list1.txt
Apple
Pear
Banana
Banana
Banana
Banana
Orange
Orange
我想用另一个单词列表(无重复),将list1.txt中的每个单词替换为list2.txt,该列表包含与list1.txt相同的单词以及更多内容:
list2.txt
Apple_red
Pear_green
Banana_yellow
Orange_orange
我需要这样的输出:
list3.txt
Apple_red
Pear_green
Banana_yellow
Banana_yellow
Banana_yellow
Banana_yellow
Orange_orange
Orange_orange
有什么建议吗? 谢谢!
答案 0 :(得分:1)
您可以使用此awk
:
awk -F'_' 'NR==FNR{a[$1]=$0; next} {print a[$1]}' list2.txt list1.txt
Apple_red
Pear_green
Banana_yellow
Banana_yellow
Banana_yellow
Banana_yellow
Orange_orange
Orange_orange
答案 1 :(得分:0)
这可能对您有用:
uniq list1.txt | paste -d/ - list2.txt | sed 's#.*#s/&/#' | sed -f - list1.txt
/
作为分隔符来加入list1.txt和list2.txt。