解壓檔案和合並大量小檔案的shell指令碼
阿新 • • 發佈:2019-02-19
指令碼檔名為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