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