解压文件和合并大量小文件的shell脚本

脚本文件名为unzip-batch.sh

#批量解压压缩文件,将文件解压到指定目录
#!/bin/bash
for zipfilenamefull in `ls ./*.zip`
do 
    #echo "$zipfilename"
    zipfilename=`basename $zipfilenamefull`
    filename=$(basename $zipfilename .zip)
    echo "$filename"
    unzip $zipfilename -d $filename
done

################################################################

 脚本文件名为file-merge.sh

#先检查是否存在txtfile目录,若不存在,则创建
#由于当前目录小文件数目巨大,若用ls 命令时出现argument list too long错误
#所以利用find 命令,将当前小文件合并成一个大文件 
#!/bin/bash
if [ ! -d txtfile ];then
    mkdir txtfile
fi
for catalognamefull in ` ls -l |grep '^d'|awk '{print $9}'`
do 
    #echo $catalognamefull
    echo " find ./$catalognamefull -type f -name '*.txt' -exec cat {} \; >./txtfile/$catalognamefull.txt"
    find ./$catalognamefull -type f -name '*.txt' -exec cat {} \; > ./txtfile/$catalognamefull.txt
done


猜你喜欢

转载自blog.csdn.net/lepton126/article/details/80066862