主档案:
A B
C D
D A
G H
参考文件:
1 A
2 B
3 C
4 D
5 G
6 H
新文件:
1 2
3 4
4 1
5 6
我想做上面的替换,我怎么能用awk或一些简单的命令行来做呢?
答案 0 :(得分:1)
awk 解决方案:
awk 'NR==FNR{ a[$2]=$1; next }{ $1=a[$1]; $2=a[$2] }1' reffile mainfile
输出:
1 2
3 4
4 1
5 6
a[$2]=$1
- 将reffile
中的数字捕获到以字母索引的数组(例如a["A"]=1
)
$1=a[$1]; $2=a[$2]
- 将mainfile
中的字母替换为相应的数字