添加word using sed到csv的最后一列



我尝试了下面的sed,即使我设置了$来设置最后的路径,它似乎也不起作用。我也不知道是否有办法逐行执行while或for:

sed -E 's/$/Location/'

但是我收到的输出是:

Locationi,d,nm,yr,dt,mnn,rmd,g,gnr,rc,ct,st,sgns,tt,fl,cmr,lng,lt,gcdng
Location,2018,2018-10-25,sh,vhcl,28,M,B,St. Ls,MO,F,attack,flng,False,-90.219,38.773,True

输入

wi,d,nm,yr,dt,mnn,rmd,g,gnr,rc,ct,st,sgns,tt,fl,cmr,lng,lt,gcdng
2,4141,Armond,2018,2018-10-25,sh,vhcl,28,M,B,St. Ls,MO,F,attack,flng,False,-90.219,38.773,True

输出预期的

wi,d,nm,yr,dt,mnn,rmd,g,gnr,rc,ct,st,sgns,tt,fl,cmr,lng,lt,gcdng
2,4141,Armond,2018,2018-10-25,sh,vhcl,28,M,B,St. Ls,MO,F,attack,flng,False,-90.219,38.773,True Location

如果示例文件ex.csv包含一个标题行和3个数据行,如下所示:

col1,col2,col3
1,2,3
4,5,6
7,8,9

因此,从第2行开始使用替代以避免标题。这是2,$部分。

然后在每行末尾进行搜索和替换。s/$/ Location/

把它们放在一起:

$ sed '2,$s/$/ Location/' ex.csv 
col1,col2,col3
1,2,3 Location
4,5,6 Location
7,8,9 Location

最新更新