我尝试在命令行中输出我的 $PATH,同时使用以下命令将 : 替换为 \n:
echo $PATH | sed s/:/\n/g
这并不能 100% 发挥作用,我该如何让它发挥作用呢?
答案1
您需要转义反斜杠,即
echo $PATH | sed s/:/\\n/g
或者,正如 BatchyX 指出的那样
echo $PATH | tr ':' '\n'
另一种可能性是,如果你想解析 $PATH,你也可以使用
IFS=:
for i in $PATH; do
echo $i
done
这里IFS=:
告诉bash
在 处拆分字符串:
。请注意,这也会改变当前会话中的其他内容。摘自man bash
:
IFS 内部字段分隔符,用于扩展后的分词以及使用内置命令 read 将行拆分为单词。默认值为
<space><tab><newline>
答案2
您还可以引用正则表达式:
echo $PATH | sed 's/:/\n/g'
对于您的 \n 文字,您可以使用echo -e
。