2014-06-25 47 views
0

我想使用sed替換一個字符串中的兩個或多個選項卡。但是,當我做sed:用一個替換兩個或多個選項卡

echo「A \ t \ tB \ t \ tC」| SED的/ \ t \ t/\ T/G'

我得到同樣的事情背

一個\ t \ TB \ t \的tC

我怎樣才能得到這個?

A \ TB \的tC

提前感謝!

回答

0

看起來你已經得到它 - 你只是錯過了一個標誌呼應=>-e

$ echo -e "A\t\tB\t\tC" | sed -e 's/\t\t/\t/g' 
A B C 

$ echo -e "A\t\tB\t\tC" 
A  B  C 

更新:不要忘記上的sed -e的!

+0

雖然對我來說這並不是這樣... 'echo -e「A \ t \ tB \ tC」| 「我得到仍然 'A \t \t B \t B''在兩個選項卡之間AB和BC之間只有一個 – user3199761

+0

這意味着,對於你來說,有那裏'echo -e「A \ t \ tB \ tC」'和'echo -e「A \ t \ tB \ tC」|之間沒有區別。 sed s/\ t \ t/\ t/g'?你能檢查嗎? (他們的輸出是不同的,我的終端的預期工作) – assem

+0

雖然它可能是奇怪的,輸出之間確實沒有區別...我使用bash 3.2.51(1) - 釋放mac。 – user3199761