0
我想使用sed替換一個字符串中的兩個或多個選項卡。但是,當我做sed:用一個替換兩個或多個選項卡
echo「A \ t \ tB \ t \ tC」| SED的/ \ t \ t/\ T/G'
我得到同樣的事情背
一個\ t \ TB \ t \的tC
我怎樣才能得到這個?
A \ TB \的tC
提前感謝!
我想使用sed替換一個字符串中的兩個或多個選項卡。但是,當我做sed:用一個替換兩個或多個選項卡
echo「A \ t \ tB \ t \ tC」| SED的/ \ t \ t/\ T/G'
我得到同樣的事情背
一個\ t \ TB \ t \的tC
我怎樣才能得到這個?
A \ TB \的tC
提前感謝!
看起來你已經得到它 - 你只是錯過了一個標誌呼應=>-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的!
雖然對我來說這並不是這樣... 'echo -e「A \ t \ tB \ tC」| 「我得到仍然 'A \t \t B \t B''在兩個選項卡之間AB和BC之間只有一個 – user3199761
這意味着,對於你來說,有那裏'echo -e「A \ t \ tB \ tC」'和'echo -e「A \ t \ tB \ tC」|之間沒有區別。 sed s/\ t \ t/\ t/g'?你能檢查嗎? (他們的輸出是不同的,我的終端的預期工作) – assem
雖然它可能是奇怪的,輸出之間確實沒有區別...我使用bash 3.2.51(1) - 釋放mac。 – user3199761