我想用的名字重新命名我的手机截图:Screenshot_2020-08-06-16-13-43-731_com.tclhz.gallery.jpg
以2020-08-06.jpg
关于文件名的固定部分,我想对其进行概括,以便可以删除N个前字符和N个后字符。
怎么做呢?
谢谢!
您可以为此使用shell字符串操作函数。假设您的文件名存储在一个变量中name
,以下两行将删除直到第一个下划线(包括下划线)的所有内容,然后删除以该-hh-mm-ss
部分开头的所有内容。然后,手动扩展文件名扩展名。
newname="${name#*_}"
newname="${newname%-??-??-??-*}.jpg"
然后,您可以发出命令
mv "$name" "$newname"
重命名文件。
例子:
$ name="Screenshot_2020-08-06-16-13-43-731_com.tclhz.gallery.jpg"
$ newname="${name#*_}"; newname="${newname%-??-??-??-*}.jpg"; echo "$newname"
2020-08-06-16.jpg
为了处理当前目录的全部内容:
for name in *.jpg
do
newname="${name#*_}"
newname="${newname%-??-??-??-*}.jpg"
mv "$name" "$newname"
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句