克隆创建日期

克隆创建日期

我只想克隆创建日期,并且源和目标中的文件名不同。它的名称部分是相同的,但扩展名不同。 AVI 视频位于一个目录中,MP4 位于另一目录中。

所以我想用touch --reference=file1 file2.

在一个文件上效果很好,但我有大约 100 个文件。我有一个包含所有源文件名的文本文件。哦,其中很多也有空格和撇号。

答案1

像这样的东西吗?

for avi in *.avi
do
    mp4="${avi%%.avi}".mp4
    if [ -e "$mp4" ]
    then
        touch --reference="$avi" "$mp4"
    fi
done

答案2

你所改变的时间touch不是文件创建时间,而是修改时间(最新的Linux文件系统确实支持文件创建时间,但这有点无用,因为目前你需要特殊的工具来访问它)。

要按照 中的要求更改文件修改时间bash,您可以在包含参考文件的目录中使用如下循环:

for ref_file in *.avi; do
  touch -c --reference="$ref_file" "target_dir/${ref_file%avi}mp4"
done

相关内容