今天在写shell脚本时遇到一个需求:需要在文件的某一列后插入一列内容
例如:在文件a.data的第二列插入一列“2”,生成b.data
]# cat a.data
a b c
a b c
a b c
]# cat b.data
a 2 b c
a 2 b c
a 2 b c
网上一般是用paste命令,能够在文件的第一列前或者最后一列后新增加一列,但并不能在文件中间的某一列新增内容,于是我结合cut命令,通过先按列切割文件再追加的方式能够满足需求。暂时只能想到该笨方法解决问题,算是一种解决思路,以后想到更好地方法再更新。借此机会也总结了cut用法。
]# cut -f 1 a.data >a1.data
]# cat a1.data
a
a
a
]# cut -f 2,3 a.data >a23.data
]# cat a23.data
b c
b c
b c
]# cat c.data
2
2
2
]# paste a1.data c.data a23.data > b.data
]# cat b.data
a 2 b c
a 2 b c
a 2 b c