我有一个包含文件的许多子目录的目录。 对于每个WAV文件,我想通过在文件开始时添加创建日期(WAV文件首次创建时的日期)(不更改文件本身的时间戳)来重命名WAV文件。Linux:批量文件名更改添加创建日期
下一步是将WAV文件转换为MP3文件,因此我将节省硬盘空间。
为此目的,我试图创建一个bash脚本,但我有一些问题。
我想保持相同的结构,原来的目录,所以我很喜欢思考的东西:
for file in `ls -1 *.wav`
do name=`stat -c %y $file | awk -F"." '{ print $1 }' | sed -e "s/\-//g" -e "s/\://g" -e "s/[ ]/_/g"`.wav
cp -r --preserve=timestampcp $dir_original/$file $dir_converted/$name
done
只有“上次数据访问的时间,上次数据修改的时间以及上次更改文件状态的时间”。你需要哪一个? – RomanPerekhrest
'用于* .wav'中的文件就可以了,你不需要反引号和ls。 – codeforester
重新阅读'man stat'和其他'stat'文档。你应该能够生成所需的日期字符串,而不需要所有的awk .. | sed ..东西。祝你好运。 – shellter