2012-06-21 51 views
2

在這種情況下,字符爲「^」。刪除給定字符後的第一個字符

例如,採用以下格式的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

要匹配您的演示輸入/輸出,它應該只是s/\^.//g。要匹配描述,您需要s/\^./\^/g(即,您已將其描述爲刪除以下字符,但顯示刪除脫字符和以下字符)。

+1

是的,這完美的作品。是的,我有點誤解了我的問題。 – mmot

+0

'^'不需要在替換中被轉義:'s /\^./^/ g'很好。 –

2

你的意思是sed 's/\^.//g'?這刪除了^和以下字符。

0

這裏是一個awk溶液(只提供作爲其它的類Unix工具可供選擇,你已經有sed解決方案)

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

1 cccc cccc 
2 ctat ctatcc 
3 ccc cccc 
4 acc acc 
相關問題