shell - 当前目录、父目录和根目录的路径

标签 shell unix sed path pwd

我需要在 UNIX 中打印当前目录、父目录和根目录的路径。我可以使用命令或 shell 脚本。我设法为当前目录和父目录做到了这一点,但我不知道如何为根目录打印它。

这是我所做的:

  • 当前:密码
  • 父级:echo $(pwd) | sed -e s/\\/[^\\/]*$//

最佳答案

gnu sed

echo $(pwd) | sed -r -e 'p; :a; s#(.*)/.*#\1#; H; ta; x' | sed '/^$/d'  

这将打印当前 -> 根目录下的所有目录

它使用贪婪搜索 '/' 只保留左边部分,追加到保持空间,ta 是替换的条件分支,所以如果有它分支到 :a,最后 x 将保持空间交换到模式空间.
最后一个 sed 命令用于清除空行

关于shell - 当前目录、父目录和根目录的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30699029/

相关文章:

linux - 使用 bash 向 LFTP 发送命令,然后保持交互模式

linux - Shell 脚本无法识别 heredoc 分隔符

linux - C shell - 在后台获取作业以在完成后报告状态

c - C中的while循环格式

regex - sed 问题。我究竟做错了什么?

regex - Sed - 替换每行最后出现的匹配项

bash - Unix Shell - 理解括号对变量的使用

bash - 我怎样才能正确地将多个 bash 脚本源到彼此?

c++ - 让程序运行缓慢

linux - 向右移动列标题