在Bash中将字符串分割成多行

43
我想获取本地目录的路径,并将该路径上的每个目录放在不同的行中。我尝试使用 cut 命令实现:

pwd | cut -f 1- -d\/ --output-delimiter=\n

但它没有将 '/' 更改为行尾符,而是将 n 替换了进去。我做错了什么?

3个回答

70

这应该能解决问题

pwd | tr '/' '\n'

如果你不想在开头出现空行(由于初始的/),你可以这样做:

pwd | cut -b2- | tr '/' '\n'

示例:

#aioobe@r60:~/tmp/files$ pwd
/home/aioobe/tmp/files
#aioobe@r60:~/tmp/files$ pwd | cut -b2- | tr '/' '\n'
home
aioobe
tmp
files

9
您可以尝试以下方法:
pwd | tr '/' '\n'

6
这是您完成所需操作的方法(使用ANSI-C引用):
pwd | cut -f 1- -d\/ --output-delimiter=$'\n'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接