我想知道find或ls中是否有一些选项可以打印文件而不是工作目录中的目录。
find ./ -type f
以递归方式打印所有文件,但我需要的只是此文件夹中的文件
提前致谢
答案 0 :(得分:3)
您可以使用maxdepth
选项限制递归。
find ./ -type f -maxdepth 1
答案 1 :(得分:3)
来自man find
-maxdepth
Descend at most levels (a non-negative integer) levels of directories below the
command line arguments. `-maxdepth 0' means only apply the tests and actions to the
command line arguments.
find . -type f -maxdepth 1
应该做你想做的事情
答案 2 :(得分:1)
find
包含您可能不想要的隐藏点文件。
此解决方案使用ls命令作为输入数组,在每个输入到grep的条目上调用ls -ld以排除输出发送到null的目录,如果成功回显原始输入:
for list in `ls` ; do ls -ld $list | grep -v ^d > /dev/null && echo $list ; done ;
您可以反转grep和条件输出,结果相同:
for list in `ls` ; do ls -ld $list | grep ^d > /dev/null || echo $list ; done ;