Bash 自动重命名、移动和压缩图像的脚本
我正在尝试在我的Raspberry的Xbian上创建一个脚本,它将监视一个文件夹,并用我从谷歌图像搜索中保存的图像压缩任何文件夹 我想要的是:该脚本将移动所有文件夹与-Google搜索在他们的名字到一个临时文件夹,重命名他们删除-Google搜索部分,只留下搜索查询的主题。然后,它将使用文件夹名称/搜索查询作为每个文件夹中的文件的新名称,对其进行顺序编号。因此,Random file.jpg和anoth3r_Random_file.png将成为search_topic_01.jpg和search_topic_02.jpg 然后,它们都将被移动到另一个文件夹,一个传入图像文件夹,ImageMagick将在其中对它们施展魔法,同时将它们移动到就绪图像文件夹 还和我在一起吗 以下是我迄今为止所得到的,将我在网上找到的东西与我有限的Bash脚本知识捆绑在一起:Bash 自动重命名、移动和压缩图像的脚本,bash,shell,imagemagick,Bash,Shell,Imagemagick,我正在尝试在我的Raspberry的Xbian上创建一个脚本,它将监视一个文件夹,并用我从谷歌图像搜索中保存的图像压缩任何文件夹 我想要的是:该脚本将移动所有文件夹与-Google搜索在他们的名字到一个临时文件夹,重命名他们删除-Google搜索部分,只留下搜索查询的主题。然后,它将使用文件夹名称/搜索查询作为每个文件夹中的文件的新名称,对其进行顺序编号。因此,Random file.jpg和anoth3r_Random_file.png将成为search_topic_01.jpg和search
echo "making temp"
mkdir /media/dBox/downloads/Xyma/temp
wait
echo "moving files"
mv /media/dBox/downloads/Xyma/*Google\ Search /media/dBox/downloads/Xyma/temp
wait
echo "renaming folders"
rename s/\ -\ Google\ Search// /media/dBox/downloads/Xyma/temp/*
wait
echo "renaming files"
for dir in /media/dBox/downloads/Xyma/temp/; do
if test -d "$dir"; then
(
cd $dir
for file in *; do
newfile=$dir.${file#*.}
mv "$file" "$newfile"
done
)
fi
done
wait
echo "making ready subfolder"
mkdir /media/dBox/downloads/Xyma/temp/00_Unreg_Ready_Image_Folders
wait
echo "moving folders to ready folder"
mv /media/dBox/downloads/Xyma/temp/* /media/dBox/downloads/Xyma/00_Unreg_Ready_$
wait
echo "removing temp folder"
rmdir /media/dBox/downloads/Xyma/temp
…让我们说aaarghrghrghh
我确信一定有一种更简单的方法,比如说,一个五个字的命令,也许两个参数,可以自动神奇地完成所有事情,并在上面撒上星尘,或者通常是一种更简单更好的方法,但我现在想不起来了
所以,我愿意接受各种想法和建议。
有什么帮助吗?有人吗
救命啊 对我来说很好,它对你的工作方式是最好的方式。好吧,有些事情是错的,因为如果它发现一个目录已经存在,它不会做它应该做的,而是开始从我的主目录移动文件和文件夹!重命名目标文件夹时,将其复制到目标文件夹。除此之外,它不会按顺序重命名文件夹中的所有图像,但只重命名其中一个图像?!。我想问题在于我没有正确使用星号/转义空格。有人帮忙吗?你知道为什么它会导致问题吗?你需要在rename的/\-\Google\Search/'/media/dBox/downloads/Xyma/temp/*中引用regex。