温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • shell 遍历目录 批量解压文件名含有某字符串及特定后缀的文件

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

发布时间:2020-07-30 13:12:22 来源:网络 阅读:6459 作者:kartik 栏目:开发技术
#!/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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI