在bash中将一个字符串切成几行

时间:2010-11-03 15:05:58

标签: bash cut

我想获取本地目录的路径,并将路径中的每个目录放在不同的行中。我试图用cut做到这一点:

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

但它不会将'/'更改为EOL,而是将n改为。 我做错了什么?

3 个答案:

答案 0 :(得分:49)

这应该可以解决问题

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

答案 1 :(得分:8)

您可以尝试:

pwd | tr '/' '\n'

答案 2 :(得分:5)

这就是你如何完成你要做的事情(使用ANSI-C引用):

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