转到父目录内联

Go to parent directory inline

我想知道是否可以直接转到文件的父目录。我知道我可以输入 cd .. 并且它会。但是,如果我想做类似 echo $(find . -name “xyz.png”).. 的操作,它会 return 文件的父目录而不是文件路径。或者我搜索文件夹而不是文件,并且想要 return 父目录的路径。

您可以使用 dirname 去除路径的最后部分。在您的示例中结合 find ,它只会为您提供找到的任何内容的父目录。你可以像在 cd $(find -name "xyz.png" | xargs dirname) 中那样在 cd 中使用它,如果这是你想要做的事情的话。

您也可以使用 -type d 选项来查找,如果您想要匹配目录名而不是文件名,则只查找目录。

未测试:

  function dirs_ofFile
  {
      find -name "" | xargs dirname 
  }

然后

$ cd $(dirs_ofFile xyz.png | sed 1q)   # in case there is more than one.