Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 自动重命名、移动和压缩图像的脚本_Bash_Shell_Imagemagick - Fatal编程技术网

Bash 自动重命名、移动和压缩图像的脚本

Bash 自动重命名、移动和压缩图像的脚本,bash,shell,imagemagick,Bash,Shell,Imagemagick,我正在尝试在我的Raspberry的Xbian上创建一个脚本,它将监视一个文件夹,并用我从谷歌图像搜索中保存的图像压缩任何文件夹 我想要的是:该脚本将移动所有文件夹与-Google搜索在他们的名字到一个临时文件夹,重命名他们删除-Google搜索部分,只留下搜索查询的主题。然后,它将使用文件夹名称/搜索查询作为每个文件夹中的文件的新名称,对其进行顺序编号。因此,Random file.jpg和anoth3r_Random_file.png将成为search_topic_01.jpg和search

我正在尝试在我的Raspberry的Xbian上创建一个脚本,它将监视一个文件夹,并用我从谷歌图像搜索中保存的图像压缩任何文件夹

我想要的是:该脚本将移动所有文件夹与-Google搜索在他们的名字到一个临时文件夹,重命名他们删除-Google搜索部分,只留下搜索查询的主题。然后,它将使用文件夹名称/搜索查询作为每个文件夹中的文件的新名称,对其进行顺序编号。因此,Random file.jpg和anoth3r_Random_file.png将成为search_topic_01.jpg和search_topic_02.jpg

然后,它们都将被移动到另一个文件夹,一个传入图像文件夹,ImageMagick将在其中对它们施展魔法,同时将它们移动到就绪图像文件夹

还和我在一起吗

以下是我迄今为止所得到的,将我在网上找到的东西与我有限的Bash脚本知识捆绑在一起:

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。