在Linux中合​​并来自同一文件的列

时间:2018-04-05 13:18:13

标签: linux awk sed

我有一个这样的文本文件:

Name2 381 3923 1000
Name2 321 323  9000
Name2 121 212  1000
Name3 321 644  4444
Name3 111 342  4234
Name3 342 323  3232

我想将前三列合并为以下内容:

Name2:381:3923 1000
Name2:321:323  9000
Name2:121:212  1000
Name3:321:644  4444
Name3:111:342  4234
Name3:342:323  3232

但是,我想保留文件中存在的任何其他列。我尝试使用sed和regex,但我遇到的问题是我需要保留其他列,只需用空格代替冒号即可。

1 个答案:

答案 0 :(得分:3)

关注awk可能对您有帮助。

awk '{sub(/ /,":");sub(/ /,":")} 1'  Input_file

解决方案第二: sed解决方案。

sed 's/ /:/1;s/ /:/1'  Input_file