作成日のみ複製したいのですが、ソースとターゲットのファイル名が異なります。名前部分は同じですが、拡張子が異なります。 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