使用Bash参数替换

时间:2016-11-20 21:30:40

标签: bash replace

如何使用${var//Pattern/Replacement}将标签替换为空格?

${var//\t/ }对我不起作用。

3 个答案:

答案 0 :(得分:6)

在此添加,因为通过PuTTY将实际制表符输入bash shell并不是那么简单。 CTRL V TAB无法正常工作,因为CTRL V在Windows中被捕获为粘贴。

相反,我使用:

${var//$'\t'/ }

示例:

$ var="te"$'\t'"st"

$ echo $var
te st

$ echo ${var//$'\t'/i}
teist

答案 1 :(得分:3)

您需要输入实际的TAB字符:

var=${var// / }
           ^ that's really meant to be a TAB character
             but might not be visible on this site

在命令行中, 插入一个TAB字符, 按 Control v TAB

答案 2 :(得分:0)

\ t并没有在bash正则表达式中对TAB进行symolize。

${var//$(echo -e "\t")/ }