我想替换":"使用变量模式替换在$ PATH中添加新行
echo ${PATH/:/"<WHAT TO PUT HERE>"}
我试过了:
echo ${PATH/:/"\n"}
但那不起作用
答案 0 :(得分:1)
您可以像使用其他任何地方一样使用带引号的字符串。
echo "${PATH//:/
/}"
为提高易读性,请尝试以下方法:
echo "${PATH//:/$'\n'}"
(您可能希望在任何地方替换冒号,而不仅仅是第一次出现。因此,//
不是/
。)
答案 1 :(得分:1)
在替换中使用POSIX字符串($'
... '
);它们支持C风格的反斜杠序列:
echo "${PATH//:/$'\n'}"
我使用了//
代替/
,因此它会替换所有冒号,而不仅仅是第一个冒号。
答案 2 :(得分:0)
我意识到这个问题已经更新,以排除这些解决方案,但我将其留在这里以供其他任何好奇的人使用。
使用sed
:
echo $PATH | sed 's/:/\n/g'
使用tr
:
echo $PATH | tr ':' '\n'
答案 3 :(得分:0)
这就是你需要的:
printf ${PATH//:/'\n'}