如何使用sed修改特定列
如何通过sed修改特定的文件夹,尤其是向该列数据添加数字 我有一个csv文件,如下所示:如何使用sed修改特定列,sed,addition,Sed,Addition,如何通过sed修改特定的文件夹,尤其是向该列数据添加数字 我有一个csv文件,如下所示: c1,c2,123,c4 c1,c2,345,c4 是否可以将400添加到每行的第3列? 并使结果如下所示: c1,c2,523,c4 c1,c2,745,c4 我自己试着用 "sed -n 's/[0-9]\{3\}/&+400/ p' test.csv " 结果是 c1,c2,123+400,c4 c1,c2,345+400,c4 awk更适合这里: awk '{$3+=400}1' F
c1,c2,123,c4
c1,c2,345,c4
是否可以将400添加到每行的第3列?
并使结果如下所示:
c1,c2,523,c4
c1,c2,745,c4
我自己试着用
"sed -n 's/[0-9]\{3\}/&+400/ p' test.csv "
结果是
c1,c2,123+400,c4
c1,c2,345+400,c4
awk
更适合这里:
awk '{$3+=400}1' FS=, OFS=, file
这可能适用于您(GNU-sed):
这使用了sed和Bash的组合。您可能希望使用
awk
来代替,指定OFS=','
来设置分隔符,例如,awkofs=','$1,$2,$3+400,$4
如果您确实想要sed
,可能会有所帮助。
awk '{$3+=400}1' FS=, OFS=, file
sed 's/[^,]*/$((&+400))/3;s/.*/echo "&"/e' file