在分隔符的特定位置添加字符串数十万行

时间:2014-12-17 01:59:53

标签: linux awk

一个文本文件:

1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;@;
17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;@;
etc..

想要添加' / c_h /'到每一栏15

希望结果为:

1;2;3;4;5;6;7;8;9;10;11;12;13;14;/c_h/15;16;@;
17;18;19;20;21;22;23;24;25;26;27;28;29;30;/c_h/31;32;@;
etc..

我使用awk但无法弄清楚

2 个答案:

答案 0 :(得分:1)

尝试此命令:

awk -v FS=";" -v OFS=";" ' { $15 = "/c_h/"$15 ; print $0 } ' file.txt

首先,您需要将输入字段分隔符和输出字段分隔符设置为&#34 ;;"在这种情况下。然后只需修改所需的字段。

答案 1 :(得分:0)

 sed -r -e 's/(([0-9]+;){14})/\1\/c_h\//' YourFileName

要内联

 sed -r -e 's/(([0-9]+;){14})/\1\/c_h\//' -i.bak YourFileName