0

同胞社区,

我在下面有一个命令。在互联网的某个地方找到它。该命令的作用是在当前文件夹和嵌套文件夹下搜索参数。我试图翻译和分析它:

find ${1:-.} -path '*/\.*' -prune -o -type d -print 2> /dev/null | fzf +m && cd "$dir"
  • find-> 命令本身

  • ${1:-.}-> 如果我们提供值,我们将搜索 $(1) 并显示它,否则,它将显示当前目录 ':-.' 下的所有内容

  • -path '*/\.*'-> 这是我们应该寻找目标的路径。当我们省略转义符号时,它可以写成/。,这意味着我们正在搜索当前文件夹及其中的所有内容,并且该文件夹的位置无关紧要(前缀中的星号)。

  • -prune-> 它导致 find 不下降到当前文件。

  • -o- 这很棘手,但在发生错误时它可以工作。简而言之,我们通过此语句确保无论输出是什么都会显示。

  • -type d-> 目录

  • -print-> 打印路径

  • 2> /dev/null-> 抑制任何输出。它是一个空设备,它接受任何输入并将其丢弃。

  • fzf +m-> 禁用多选

我对这个命令的问题是我想修改它,使其不仅在当前文件夹中搜索,而且通常在主文件夹和外部驱动器中搜索(例如,我有一个位于 中的驱动器/Volumes/xyz)。到目前为止,我一直在尝试的一切似乎都不起作用。我真的很感激一些帮助。

4

0 回答 0