我有一堆文件夹,其中包含许多文件名和不同扩展名的文件集,例如
foo.a
foo.b
foo.c
bar.a
bar.b
bar.c
baz.a
baz.b
baz.c
扩展名为.a的文件具有正确的日期,但我需要设置具有相同文件名的其他文件的修改日期以匹配。我可以列出所有带有.a扩展名的文件并按照这样修改它
find -name '*.a'| sed 's/\(.*\)\..*/\1/'
我知道它将涉及"触摸 - 参考"但就我而言。帮助
答案 0 :(得分:0)
尝试:
for f in *.a; do touch -r "$f" "${f%.a}".*; done
工作原理:
for f in *.a; do
这会循环使用.a
扩展名
touch -r "$f" "${f%.a}".*
使用f
作为参考文件,这会更改目录中仅在扩展名方面有所不同的所有其他文件的日期。
done
这表示for
循环结束。