使用 ls 保留目录

使用 ls 保留目录

我试图从 中获取一个垂直列表ls,这是递归的,但留下了一个名为 的目录node_modules

我用过:

ls -lt -h -R

这给了我一个很长的列表,它是垂直的、人类可读的和递归的。但它包含了目录node_modules,并且文件和目录太多了。

答案1

您可以使用-IStephane 来忽略该目录建议或者,更好的是,ls完全避免使用。只需使用find对于这种事情更好的方法,并且可以优雅地处理奇怪的文件名:

find . | grep -v node_modules

或者,采用更安全的方法可以正确处理文件名中的换行符:

find . -not -regex ".*node_modules.*"

或者,对于非 GNU find

find . ! -regex ".*node_modules.*"

如果您可以将其node_modules作为文件名的一部分并且不想跳过该文件名,请改为使用以下内容:

find . -not -regex "./node_modules.*"

相关内容