csh find命令:如何获取最高目录

时间:2017-01-06 09:22:54

标签: find csh

我正在寻找一个仅搜索目录的csh命令 我知道目录的名称(MY_DIR),但我完全忽略它们当前目录的下方。

我想要命令:

  • 没有提供任何错误消息,以防它最终无法访问目录;
  • 在找不到目录的情况下给出了一个void字符串;
  • 在找到第一次出现的目录后立即退出搜索;
  • 优先考虑最上面的目录。

我认为find是正确的命令,我这样使用它:

find . -type d ! -perm -a+r -prune -o \( -type d -o -type l \) -name MY_DIR -print -quit

是目录结构如下

DIR_A0/DIR_A1/DIR_A2/MY_DIR  
DIR_B0/DIR_B1/MY_DIR

结果是:

DIR_A0/DIR_A1/DIR_A2/MY_DIR

我宁愿得到:

DIR_B0/DIR_B1/MY_DIR

我想知道是否有人可以就如何对此事进行排序给出任何建议。

非常感谢提前

1 个答案:

答案 0 :(得分:0)

“最上面”目录是find . -name MY_DIR |\ awk -F/ 'BEGIN { depth=100; } depth > NF { depth=NF; dir=$0; } END { print dir }' 个字符最少的目录。

documentation,我们可以通过将输出汇总到-quit

来实现
find

请注意,您需要从find命令中删除.on("click", function(){ d3.select(this).style("fill", "green"); "second click function" }); 选项。 AFAIK无法通过 查找来执行此操作,因为{{1}} simple会查找存储在文件系统上的路径(可以按任何顺序)。您需要先获取完整列表。