gpt4 book ai didi

linux - 在 Linux 中递归搜索父目录中的文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:17:42 24 4
gpt4 key购买 nike

我试图列出父目录及其子目录中的所有文件。但是,我正在从另一个位置运行此命令。因此,首先,我需要遍历到目录(从我想要运行此命令的位置)。

请注意,我使用 find 命令而不是 ls 因为我还想列出它前面的每个文件的绝对路径。这是 ls 命令不可能实现的。

这就是我正在做的事情:

cd ../../../;cd level1_dir1;find $(pwd) . -name *.* -printf "%TY-%Tm-%Td\t%p\n"

此命令不显示任何输出。

这是目录结构:

level1_dir1

它有多个子目录:

level2_dir1
level2_dir2

....

level2_dir10

每个子目录中又包含子目录和文件。

但是,现在如果我这样做:

cd ../../../;cd level1_dir1/level2_dir1;find $(pwd) . -name *.* -printf "%TY-%Tm-%Td\t%p\n"

它将对 level2_dir1 中的所有子目录正确执行递归,并显示如下输出:

date level1_dir1/level2_dir1/path/to/file/filename

所以,我想打印出所有的 level2 目录,这样(通过使用通配符):

cd ../../../;cd level1_dir1/*;find $(pwd) . -name *.* -printf "%TY-%Tm-%Td\t%p\n"

但它只打印 level2 中第一个目录(即 level2_dir1)的结果

如何让它列出所有子目录的文件?

谢谢。

最佳答案

这个怎么样?

find ../../../level1_dir1 -printf "%TY-%Tm-%Td\t%p\n"

如果您想要所有文件,则甚至不需要在 find 命令中使用 -name 。如果您不想查看目录而只想查看文件,只需在 -printf 之前添加“-type f”即可。

希望这有帮助...

关于linux - 在 Linux 中递归搜索父目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15483578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com