我有时使用 less 来快速浏览一小部分文件,使用类似
less brscan/*/*
然后我用来:n
循环浏览文件
如果我有一个文件夹,例如
brscan/
├── DEBIAN
│ ├── conffiles
│ ├── control
│ ├── postinst
│ ├── postrm
│ └── prerm
├── etc
│ └── opt
├── opt
│ └── brother
└── usr
├── bin
└── lib64
在此示例中将less
拾取文件夹中的文件DEBIAN
DEBIAN
├── conffiles
├── control
├── postinst
├── postrm
└── prerm
但它不会下降到其他子目录,它只是错误:
brscan/etc 是一个目录
brscan/opt 是一个目录
brscan/usr 是一个目录
是否可以减少对这些子目录中文件的分页?
我在想类似的事情
find brscan/ | xargs less
但它不起作用 - 仍在拾取目录
答案1
指定-not -type d
从查找结果中省略目录
find -not -type d | xargs less
或更好:
find -not -type d -print0 | xargs -0 less
它可以更好地处理带空格的文件名。
答案2
和bash
,环球星选项启用,您可以:
shopt -s globstar
less brscan/**/*
但它也包括目录。使用zsh
,您可以仅过滤对常规文件的扩展:
less brscan/**/*(.)
如果返回的文件过多,上述所有操作都会失败。安全的方法是使用find
:
find brscan -type f -exec less {} +