如何查找部分指定路径的文件?

如何查找部分指定路径的文件?

我试图找到我的备份(苹果时间机器)中的所有文件.txt.csv

备份目录的结构如下:

/machine name/date/Macintosh HD/ 

上面包含了当天我机器上的所有文件。我有很多这样的目录,因为备份驱动器包含过去 3 年来自多台机器的内容。

我感兴趣的是寻找我的文本和 CSV 文件,例如文件:

/mac1/2014-08-31-173253/Macintosh 高清/用户/我/文件/工作/文件1.txt

所以我需要找到.txt路径上某处的所有文件/用户/我

答案1

find如果可用的话,您可以使用:

$ find "/mac1/2014-08-31-173253/Macintosh HD" -wholename "*/Users/me/*.txt" -or -wholename "*/Users/me/*.csv"

这将搜索路径中/mac1/2014-08-31-173253/Macintosh HD包含该模式的文件。*/Users/me/*.(txt|csv)

答案2

也许你可以这样做:

set --
for d in /mac[123]/201[1-4]*'/Macintosh HD/Users/me/Documents/work/'
do  for g in .txt .csv
do  set -- "$d"*"$g"
    [ -e "$1" ] || shift
done

通过这种方式,您将获得所有文件名的数组"$@"- 但您需要全局目录位 - 这就是它的用途/mac[123]/,而我只是猜测这些目录的名称。

相关内容