我试图找到我的备份(苹果时间机器)中的所有文件.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]/
,而我只是猜测这些目录的名称。