我的shell笔记

根据文件内容查找文件(注意-name后面参数要使用双引号,单引号会把变量当做字符串)
cat dev_list.txt | while read dev; do find <search_dir> -name "$dev" ; done

 

根据文件内容(文件名),移动文件
for i in `zcat filename.log.gz`; do mv /tmp/data/$i /tmp/dist/; done

 

根据字典文件查找文件并输出匹配内容的文件
cat dev_list.txt |while read dev ; do h=20130715/$dev*.log; grep -l 'key word here' $h 2>/dev/null ; done

 

 

删除前6天的文件夹
# 目录结构
20130801
20130802
20130803
#显示
beforeDay=`date -d'-6 days' +%Y%m%d` && ls /data/proclog/bak |while read dir ;do echo $dir |awk -v b=$beforeDay '{if($1<b) print $0}' ; done |xargs echo
#删除
beforeDay=`date -d'-6 days' +%Y%m%d` && ls /data/proclog/bak |while read dir ;do echo $dir |awk -v b=$beforeDay '{if($1<b) print $0}' ; done |xargs rm -fr

 

你可能感兴趣的:(shell)