使用sed删除CSV列中的字符

时间:2017-02-08 13:27:59

标签: bash csv sed

我的CSV文件格式如下:

aaxx1234a1,aaxx1234a1
aaxx1234a2,aaxx1234a2

我尝试使用sed删除第一个字段中逗号之前的2个字符,以便文件变为:

aaxx1234,aaxx1234a1
aaxx1234,aaxx1234a2

我尝试了sed 's/.{2},//',但这似乎没有做任何事情。

任何人都可以给出指针吗?

2 个答案:

答案 0 :(得分:4)

Sed需要将{反转为具有特殊含义。此外,您不想删除逗号:

sed 's/.\{2\},/,/'

或者,如果您的sed实现支持它,请使用-r-E切换到扩展正则表达式:

sed -E 's/.{2},/,/'

答案 1 :(得分:1)

对于此正则表达式语法,您需要扩展的正则表达式(-r):

sed -r 's/.{2},/,/' test.csv