Bash用字符串代码替换值

时间:2012-06-25 13:58:48

标签: bash replace

我有两个这样的文件:

file1(参考文件)
BBB; 33个
AAA; 2
CCC; 5

file2的
5;;;
33;;;。

我想将文件1的第一列中的相应字符串替换为column1文件2中的相应值,以便:

输出
CCC;;;。
BBB;;;。

希望这很清楚,

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

如果我理解正确并且文件中的顺序正确,

$ cat file1
BBB;33
AAA;2
CCC;5
$ cat file2
33;.;.;.
2;.;.;.
5;.;.;.
$ paste file1 file2 | sed 's/\([0-9]\+\)\t\1;//'
BBB;.;.;.
AAA;.;.;.
CCC;.;.;.

> file3添加到最后一个命令,将输出写入file3。然后你可以mv file3 file1