码迷,mamicode.com
首页 > 系统相关 > 详细

shell 遍历目录 批量解压文件名含有某字符串及特定后缀的文件

时间:2016-03-26 08:28:45      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:bash   shell   遍历   解压   批量   

#!/bin/sh
mkdir  /home/zhengyk/Desktop/tmp  #创建临时文件夹,用来存放解压后的文件
#mkdir  /home/zhengyk/Desktop/local  #创建临时文件夹,用来存放过滤结果

list_alldir(){   
	for file in $1/*
do
if [ -d $file ]; then
	list_alldir $file
else
	filename=${file##*/}  # 从路径中取出文件名及后缀
echo "$filename"
if [[ `echo $filename | awk -F‘.‘ ‘$0~/.*123.*zip/{print $3}‘` = "zip" ]]    # "123"为文件名里的子串
#elif [[ `echo $file | awk -F‘.‘ ‘$0~/.*123.*zip/{print ${file##*.}}‘` = "zip" ]]
then
#tar jxf $file -C /home/zhengyk/Desktop/tmp   #解压文件ddd
unzip -o  $file -d /home/zhengyk/Desktop/tmp   #解压文件
#grep_word /home/zhengyk/Desktop/tmp   #执行过滤关键字的函数
#rm -rf  /home/zhengyk/Desktop/tmp/*     #清理现场,为解压下一个文件做准备!
	echo "$file ..........ok!"   #显示被处理的bz2文件!
fi
fi
done
}

grep_word(){
for fileb in $1/*
do
if [ -f $fileb ]; then
# “bkeep”是你想要过滤的关键字,根据实际,自行设定
grep -H "t" $fileb >> /home/zhengyk/Desktop/tmp.txt   #H 结果中显示文件名,方便我们阅读!
else
	grep_word $fileb
fi
done
}

if [ $# -gt 0 ]
then
list_alldir "$1"
else
echo "please input:./list_alldir.sh dirpath"
fi



参考链接:http://www.360doc.com/content/10/0928/16/3234041_57087955.shtml


本文出自 “大白菜” 博客,请务必保留此出处http://dreamylights.blog.51cto.com/1163218/1755231

shell 遍历目录 批量解压文件名含有某字符串及特定后缀的文件

标签:bash   shell   遍历   解压   批量   

原文地址:http://dreamylights.blog.51cto.com/1163218/1755231

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!