Shell 从文件名外壳脚本中删除guid
我在一个目录中有一堆需要重命名的文件。这些是由iPhone QNAP应用程序创建的,该应用程序将图像和电影文件从手机上传到NAS 文件名如下所示:Shell 从文件名外壳脚本中删除guid,shell,rename,batch-rename,Shell,Rename,Batch Rename,我在一个目录中有一堆需要重命名的文件。这些是由iPhone QNAP应用程序创建的,该应用程序将图像和电影文件从手机上传到NAS 文件名如下所示: 2014-02-21 20.50.29.MOV?id=BFE616C6-F951-4A51-9B33-084B73BF9341&ext=MOV 2014-02-22 12.31.58.JPG?id=7D2816AA-06D4-4F48-8908-23D327BB0A01&ext=JPG 这些文件需要重命名为相应的文件名。例如 201
2014-02-21 20.50.29.MOV?id=BFE616C6-F951-4A51-9B33-084B73BF9341&ext=MOV
2014-02-22 12.31.58.JPG?id=7D2816AA-06D4-4F48-8908-23D327BB0A01&ext=JPG
这些文件需要重命名为相应的文件名。例如
2014-02-21 20.50.29.MOV?id=BFE616C6-F951-4A51-9B33-084B73BF9341&ext=MOV renamed to 2014-02-21 20.50.29.MOV
Windows不允许我对这些文件做任何操作,或者我可以使用类似的方法来完成这项工作
感谢您的帮助。在bash中,您可以使用以下内容:
rename 's/(.*)\?.*/$1/' *
这解决了我的问题
for file in *.JPG\?id*;
do mv "$file" "${file%%\?*}";
done
我基本上对每个文件类型、MOV、PNG、mp4等都做了相同的操作。不幸的是,我受到QNAP上使用内容的限制。我在bash的ipkg版本中没有重命名。还有其他想法吗?