解压当前目录下的所有压缩文件,会将当前目录下的所有压缩文件解压到压缩文件名的目录下面,同时把所有压缩包放到rar 文件夹下面。没技术含量的,不过还算方便。
代码: 全选
#!/bin/bash
#解压缩rar文件
if [ ! -d rar ]
then
mkdir -p rar
fi
for i in *
do
if [ -f "$i" ]
then
k=${i##*.}
j=${i%.*}
case $k in
tar)
mkdir -p "$j"
mv "$i" "$j"/"$i"
(cd "$j";tar xvf "$i";mv "$i" ../rar/"$i";cd ..)
;;
gz)
mkdir -p "$j"
mv "$i" "$j"/"$i"
(cd "$j";gzip -d "$i";mv "$i" ../rar/"$i";cd ..)
;;
tar\.gz|tgz|tar\.Z)
mkdir -p "$j"
mv "$i" "$j"/"$i"
(cd "$j";tar zxvf "$i";mv "$i" ../rar/"$i";cd ..)
;;
bz2|bz)
mkdir -p "$j"
mv "$i" "$j"/"$i"
(cd "$j";bzip2 -d "$i";mv "$i" ../rar/"$i";cd ..)
;;
tar\.bz2|tar\.bz)
mkdir -p "$j"
mv "$i" "$j"/"$i"
(cd "$j";tar jxvf "$i";mv "$i" ../rar/"$i";cd ..)
;;
Z)
mkdir -p "$j"
mv "$i" "$j"/"$i"
(cd "$j";uncompress "$i";mv "$i" ../rar/"$i";cd ..)
;;
zip)
mkdir -p "$j"
mv "$i" "$j"/"$i"
(cd "$j";unzip "$i";mv "$i" ../rar/"$i";cd ..)
;;
rar)
mkdir -p "$j"
mv "$i" "$j"/"$i"
(cd "$j";rar x "$i";mv "$i" ../rar/"$i";cd ..)
;;
esac
fi
done
一个为照片添加exif信息的小脚本。用的是exiv2来获取照片的exif信息,所以一定要装,还有就是字体的设置了。
比较适合的分辨率是2000x1500以上的,再小的图片可能效果不好,自己改下吧。
使用时后面带图片文件名就是修改单张图片。不带就是全部当前目录下的图片。
代码: 全选
#!/bin/bash
#字体设置
result=EXIF_`date +%Y%m%d%H%M%S`
font="/usr/share/fonts/wenquanyi/wqy-zenhei/wqy-zenhei.ttc" #exif信息字体
drawtxt(){
#-------------------------------------------------
oldifs=$IFS
IFS="
"
exif_info=`exiv2 $1` 2>/dev/null
model=`echo "$exif_info"|grep "model"|awk -F":" '{print $2}'`
exposure=`echo "$exif_info"|grep "Exposure time"|awk -F":" '{print $2}'`
fnumber=`echo "$exif_info"|grep "Aperture " |awk -F":" '{print $2}'`
date=`echo "$exif_info"|grep "timestamp"|awk -F" :" '{print $2}'`
size=`echo "$exif_info"|grep "Image size"|awk -F":" '{print $2}'`
px=`echo "$exif_info"|grep "Image size"|awk -F":" '{print $2}'|awk -F "x" '{print $1}'`
py=`echo "$exif_info"|grep "Image size"|awk -F":" '{print $2}'|awk -F "x" '{print $2}'`
focal=`echo "$exif_info"|grep "Focal length"|awk -F":" '{print $2}'`
#init-----------------------------------------------
[ -z "$model" ]&& exit
[ ! -d $result ]&& mkdir -p $result
echo "正在处理$1"
cp $1 $result/$1
cd $result
let "textsize=30+$py/200"
let "mask_y=35+$py/100"
convert -size "${px} x ${mask_y}" xc:"#ffffffc2" mask.png
text=" $model $exposure $fnumber $focal $size $date "
echo $text
textl=`expr length "$text"`
let "textx=$px-$textl*$px/110"
let "texty=$mask_y-15" #exif信息左下角坐标
convert -font $font -fill "#111111" -pointsize $textsize -draw "text $textx,$texty '$text'" mask.png mask.png
composite -gravity South mask.png $1 $1
rm mask.png
cd ..
}
if [ $1 ]
then
drawtxt $1
else
for i in *
do
if [ -f "$i" ]
then
drawtxt $i
fi
done
fi
IFS=$oldifs