Shell脚本&要在文件中写入csv问题

时间:2011-03-28 06:57:17

标签: shell csv

我尝试使用shell脚本在acsv文件中添加信息。

目前我添加了这些信息,我的问题是csv文件一开始就不是空的。

所以我想将新信息放在另一栏中。

但是我找不到这样做的方法。

这是我的代码:

  

sed -i'1i column3'test.csv

     

sed -i'2i ;; 4'test.csv

     

sed -i'3i ;; 2'test.csv

我的输出是

  

第3栏

       4

       2
     

1 2

     

3 4

我想这样:

  

1 2第3列

     

3 4 4

 2

你认为这可能吗?

感谢

1 个答案:

答案 0 :(得分:0)

这应该是你在你的例子中写的:

sed -i '1s/.*/& column3/' test.csv
sed -i '2s/.*/& 4/' test.csv

使用awk(如果你想使用空格作为分隔符,只需省略“-vOFS =, - F”部分):

awk -vOFS=, -F, 'NR==1 {$3="col3"; print;}' test.csv
awk -vOFS=, -F, 'NR==2 {$3=4; print;}' test.csv

更改第一列:

awk -vOFS=, -F, 'NR==1 {$1="col1"; print;}' test.csv

在2:

之间插入一列
awk -vOFS=, -F, 'NR==1 {print $1,"newcol",$2;}' test.csv