在一个文件夹中,我有一些包含3列的txt文件。我想知道是否可以在第三列的所有组件中附加一个字符(比如说L)。我设法在matlab中完成,但对于那些由少于3位数组成的数字,如81,它显示为L 81
但是,L
之后的空格对我来说并不合适。我想知道在UNIX / shell中是否有办法做到这一点?文件看起来像
0 1400000 165
1400000 1700000 336
1700000 2500000 216
2500000 3000000 228
3000000 3900000 366
3900000 4100000 108
4100000 4900000 250
4900000 5100000 81
我希望他们成为
0 1400000 L165
1400000 1700000 L336
1700000 2500000 L216
2500000 3000000 L228
3000000 3900000 L366
3900000 4100000 L108
4100000 4900000 L250
4900000 5100000 L81
答案 0 :(得分:1)
您可以更简单地使用sed
将第二个空格替换为空格,后跟L
sed 's/ / L/2' yourFile
答案 1 :(得分:0)
使用sed
在第二个空格后添加L
:
$ sed -r 's/(.* .* )/\1L/' file
0 1400000 L165
1400000 1700000 L336
1700000 2500000 L216
2500000 3000000 L228
3000000 3900000 L366
3900000 4100000 L108
4100000 4900000 L250
4900000 5100000 L81
将结果保存到同一文件使用-i
:
$ sed -i -r 's/(.* .* )/\1L/' file