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

在Linux中递归搜索父目录中的文件,linux,Linux,我试图列出父目录及其子目录中的所有文件。但是,我正在另一个位置运行此命令。因此,首先,我需要遍历到目录(从这里运行这个命令) 请注意,我使用find命令而不是ls命令,因为我还想列出前面每个文件的绝对路径。这在ls命令中是不可能的 以下是我正在做的: cd ../../../;cd level1_dir1;find $(pwd) . -name *.* -printf "%TY-%Tm-%Td\t%p\n" 此命令不显示任何输出 以下是目录结构: level1_dir1 它有多个子目录: l

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

请注意,我使用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目录:

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

我怎样才能让它列出所有子目录的文件

谢谢。

这个怎么样

find ../../../level1_dir1 -printf "%TY-%Tm-%Td\t%p\n"
如果需要所有文件,则在find命令中甚至不需要-name。如果您不想看到目录和文件,只需在-printf之前添加“-typef”


希望这有助于……

您的意思是
查找-名称“*”
?或者
find../../../../-name'*'
我首先更改目录以进入父目录,从父目录开始递归搜索所有文件。您无需返回
cd
<代码>查找可以处理这个问题。见我之前的评论。
find ../../../level1_dir1 -printf "%TY-%Tm-%Td\t%p\n"