クローン生成日[重複]

クローン生成日[重複]

作成日のみ複製したいのですが、ソースとターゲットのファイル名が異なります。名前部分は同じですが、拡張子が異なります。 AVIビデオはあるディレクトリにあり、MP4は別のディレクトリにあります。

だから私はtouch --reference=file1 file2

1つのファイルではうまく機能しますが、約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

関連情報