BASH script: resize pictures in rar archive
It's tested on CentOS 7.
Before use it, you must install zip and ImageMagick:
Create a exectable file (it names "rarresizer.sh" here.) with Code below:
You can change resize parameter with width x height like this:
or by percentage:
Execute: copy zipresizer.sh to the directory that you wanna to resize, and execute it use ". "
Warning:
1. All rar archive files in directory will be resized.
2. Verify your permissions.
3. not use "./" like below when you execute it:
5. It will delete *.txt and *.url in your rar archive file.
6. You must delete "tmp" manually after resizing done.
Before use it, you must install zip and ImageMagick:
yum install zip ImageMagick
and unrar:# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# yum update
# yum install unrar
#!/bin/bash mkdir ./tmp mkdir ./produced IFS=$'\n' for UNRARFILE in $( ls *.rar ); do echo item: $UNRARFILE UNRARCACHE="${UNRARFILE%.rar}" mkdir ./tmp/$UNRARCACHE unrar x $UNRARFILE tmp/$UNRARCACHE find ./tmp/$UNRARCACHE -name *.jpg -print -exec mogrify -resize x1308\> {} \; find ./tmp/$UNRARCACHE -name *.png -print -exec mogrify -resize x1308\> {} \; find . -name *.txt -exec rm -f {} \; find . -name *.url -exec rm -f {} \; cd ./tmp zip -0 -r ../produced/$UNRARCACHE.zip ./$UNRARCACHE cd .. done echo done\! unset IFS
You can change resize parameter with width x height like this:
find ./tmp/$UNRARCACHE -name *.jpg -print -exec mogrify -resize 512x1308
{} \;
or by percentage:
find ./tmp/$UNRARCACHE -name *.jpg -print -exec mogrify -resize 50%
{} \;
#. rarresizer.sh
Warning:
1. All rar archive files in directory will be resized.
2. Verify your permissions.
3. not use "./" like below when you execute it:
#./rarresizer.sh
4. Only jpg and png will be resize.5. It will delete *.txt and *.url in your rar archive file.
6. You must delete "tmp" manually after resizing done.
留言
張貼留言