我正在尝试列出父目录及其子目录中的所有文件。但是,我正在从另一个位置运行此命令。所以,首先,我需要遍历目录(从我想运行这个命令的地方)。
请注意,我使用的是 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)
如何让它列出所有子目录的文件?
谢谢。