我尝试使用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
你认为这可能吗?
感谢
答案 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