linux触摸日期匹配的文件

时间:2015-02-18 01:19:42

标签: linux sed

我有一堆文件夹,其中包含许多文件名和不同扩展名的文件集,例如

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/'

我知道它将涉及"触摸 - 参考"但就我而言。帮助

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循环结束。