删除给定字符后的第一个字符

时间:2012-06-21 13:49:22

标签: unix sed

在这种情况下,字符为“^”。

例如,以下列格式包含3列。

自:

1 cccc cccc
2 cta^<t cta^<tcc
3 ccc cccc^*
4 ^]a^*c^*c ^]a^*c^*c 

要:

1 cccc cccc
2 ctat ctatcc
3 ccc cccc
4 acc acc 

我很确定这可以用sed。

3 个答案:

答案 0 :(得分:3)

要匹配您的演示输入/输出,它应该只是s/\^.//g。要匹配描述,您需要s/\^./\^/g(即,您已将其描述为删除以下字符,但显示同时删除插入符号和后续字符。)

答案 1 :(得分:2)

你的意思是sed 's/\^.//g'?这将删除^和以下字符。

答案 2 :(得分:0)

这是一个awk解决方案(仅作为另一个Unix工具替代方案提供,您已经有sed解决方案)

awk '/^/{gsub(/\^./,"", $0)};1' data.txt

给出

1 cccc cccc
2 ctat ctatcc
3 ccc cccc
4 acc acc