使用 sed 将 : 替换为 \n

使用 sed 将 : 替换为 \n

我尝试在命令行中输出我的 $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

相关内容