删除给定字符后的第一个字符
问题描述:
在这种情况下,字符为“^
”。删除给定字符后的第一个字符
例如,采用以下格式的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。
答
要匹配您的演示输入/输出,它应该只是s/\^.//g
。要匹配描述,您需要s/\^./\^/g
(即,您已将其描述为删除以下字符,但显示删除脱字符和以下字符)。
答
你的意思是sed 's/\^.//g'
?这删除了^
和以下字符。
答
这里是一个awk
溶液(只提供作为其它的类Unix工具可供选择,你已经有sed
解决方案)
awk '/^/{gsub(/\^./,"", $0)};1' data.txt
给
1 cccc cccc
2 ctat ctatcc
3 ccc cccc
4 acc acc
是的,这完美的作品。是的,我有点误解了我的问题。 – mmot
'^'不需要在替换中被转义:'s /\^./^/ g'很好。 –