请各位帮忙讲解下这个脚本,谢谢!

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
国货精品
帖子: 316
注册时间: 2010-05-19 14:53

请各位帮忙讲解下这个脚本,谢谢!

#1

帖子 国货精品 » 2013-07-25 11:48

#!/bin/bash
echo "resize image who is bigger than 100k";
for i in `find . -size +100k`;
do
convert $i -resize 50% $i;
echo "resize image $i to 50%";
done

$ chmod +x resize.sh

$ ./resize.sh
resize image who is bigger than 100k
resize image ./2010-01-13/e0110c4b-97bf-4ef6-808a-9d8f844bf950.JPG to 50%
resize image ./2010-03-16/e9b75d65-a122-4a77-b409-4b0f0e0851d7.jpg to 50%
resize image ./2010-03-23/24c7e4f5-90a2-4052-8429-d1a13d77a127.jpg to 50%
resize image ./2010-01-12/992132d1-f630-4e50-809e-41ef836305e7.jpg to 50%
resize image ./2010-03-31/2e217345-c04c-4c52-90a6-566167c58c07.JPG to 50%
resize image ./2010-03-31/59bb335d-00b6-4bda-9b1a-6cede53d8d6a.JPG to 50%

$ ./resize.sh
resize image who is bigger than 100k
resize image ./2010-03-31/2e217345-c04c-4c52-90a6-566167c58c07.JPG to 50%
resize image ./2010-03-31/59bb335d-00b6-4bda-9b1a-6cede53d8d6a.JPG to 50%
——————————————————————————————————
http://www.linuxidc.com/Linux/2010-04/25292.htm这里复制的,批量压缩图片的脚本,对本人很适用,但小弟不明白其中参数含义,请各位指教,谢谢!!!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 请各位帮忙讲解下这个脚本,谢谢!

#2

帖子 eexpress » 2013-07-25 11:50

太简单,而且有漏洞。自己看imagemagick的html帮助。
● 鸣学
头像
Methuselar
帖子: 122
注册时间: 2009-06-04 12:06
联系:

Re: 请各位帮忙讲解下这个脚本,谢谢!

#3

帖子 Methuselar » 2013-07-25 12:09

for i in read XXX 才是按行读取,如果字符串内有空格,即默认的IFS, 这脚本就错了。哪里看来的野脚本,侥幸没错而已。

如果不愿意加这个read, 可以用,

代码: 全选

find XXX -exec echo {} +; 
但是也一样对空格无奈。

要解决空格问题,gnu find 里直接运行命令即可:

代码: 全选

find . -type f -name '*.jpg' -exec convert {} -resize 50% {} \;
还可以用 find -print0 | xargs -0
Mea Culpa!
国货精品
帖子: 316
注册时间: 2010-05-19 14:53

Re: 请各位帮忙讲解下这个脚本,谢谢!

#4

帖子 国货精品 » 2013-08-23 11:38

Methuselar 写了:for i in read XXX 才是按行读取,如果字符串内有空格,即默认的IFS, 这脚本就错了。哪里看来的野脚本,侥幸没错而已。

如果不愿意加这个read, 可以用,

代码: 全选

find XXX -exec echo {} +; 
但是也一样对空格无奈。

要解决空格问题,gnu find 里直接运行命令即可:

代码: 全选

find . -type f -name '*.jpg' -exec convert {} -resize 50% {} \;
还可以用 find -print0 | xargs -0
谢谢,是从网上找来的脚本,用来压缩图片的(数码相机的照片太大,不适合做报价表)
头像
ceclinux
帖子: 308
注册时间: 2013-01-17 2:42
系统: Ubuntu 12.04LTS

Re: 请各位帮忙讲解下这个脚本,谢谢!

#5

帖子 ceclinux » 2013-08-23 12:27

我能说RTFM吗
Ubuntu 12.04 LTS
laptop:Acer 4750G CPU:I5-2410
内存:2+2G 硬盘:500+750
http://www.ceclinux.org
头像
peter_huang
帖子: 391
注册时间: 2006-11-07 14:32

Re: 请各位帮忙讲解下这个脚本,谢谢!

#6

帖子 peter_huang » 2013-08-23 20:16

ceclinux 写了:我能说RTFM吗
太不厚道了,人家已经STFW了嘛。
回复