我试图从 中获取一个垂直列表ls
,这是递归的,但留下了一个名为 的目录node_modules
。
我用过:
ls -lt -h -R
这给了我一个很长的列表,它是垂直的、人类可读的和递归的。但它包含了目录node_modules
,并且文件和目录太多了。
答案1
您可以使用-I
Stephane 来忽略该目录建议或者,更好的是,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.*"