Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 从ls中排除特定嵌套目录--忽略_Bash_Shell_Ls - Fatal编程技术网

Bash 从ls中排除特定嵌套目录--忽略

Bash 从ls中排除特定嵌套目录--忽略,bash,shell,ls,Bash,Shell,Ls,我需要列出一个名为app的目录中的所有目录。 目录列表如下所示 app/frontend app/authservice app/mailservice ............... ............... 我想列出应用程序目录中除根目录中的app/frontend以外的所有目录 我使用grep-v命令获得了所需的输出 ls -d /app/packages/*/ | grep -v packages/frontend/ 但是我想通过在ls命令中使用--ignore得到同样的结果。

我需要列出一个名为app的目录中的所有目录。 目录列表如下所示

app/frontend
app/authservice
app/mailservice
...............
...............
我想列出应用程序目录中除根目录中的
app/frontend
以外的所有目录

我使用
grep-v
命令获得了所需的输出

ls -d /app/packages/*/ | grep -v packages/frontend/
但是我想通过在ls命令中使用
--ignore
得到同样的结果。

ls--ignore
用于隐含条目,例如在没有
-d
的情况下列出目录的内容,或者在带有
ls-R
的递归列表中列出目录的内容。它对通过命令行传递的条目不起作用,这是您使用
/app/packages/*/
完成的。重要的是,是shell扩展了
*
全局,而不是
ls
,因此就
ls
而言,
前端
目录是显式写出的

可以使用shell功能省略特定目录。此扩展glob将列出除前端之外的所有目录:

ls -d /app/packages/!(frontend)/
(在脚本中,您将需要
shopt-s extglob
。扩展glob通常在交互式shell中默认启用,但在脚本中禁用。)

ls--ignore
用于隐含条目,例如在没有
-d
的情况下列出目录内容时,或者在带有
ls-R
的递归列表中。它对通过命令行传递的条目不起作用,这是您使用
/app/packages/*/
完成的。重要的是,是shell扩展了
*
全局,而不是
ls
,因此就
ls
而言,
前端
目录是显式写出的

可以使用shell功能省略特定目录。此扩展glob将列出除前端之外的所有目录:

ls -d /app/packages/!(frontend)/

(在脚本中,您需要
shopt-s extglob
。默认情况下,扩展glob在交互式Shell中处于启用状态,但在脚本中处于禁用状态。)

如果这是针对脚本的,则应