今天茶杯君又雙遇到寫指令碼的問題啦,沒辦法,小白一枚,什麼東西都要學。
今天的問題,再linux環境下,擬寫一個指令碼,遍歷所有的一級子目錄資料夾,把資料夾中的.tar.gz檔案全部解壓出來。
#!/bin/bash
dir="/hdd/prj/central_library/tsmc12/mem/test"
i=1
for tmp_file in `ls ${dir}`
do
echo " No = $i tmp_file = $tmp_file"
if [ "$i" = $i ]
then
for tmp_tar_file in `ls $dir/$tmp_file/`
do
if [ "$tmp_tar_file" = "${tmp_file}_doc.tar.gz" ]
then
echo "ok"
else
tar -xzf $dir/$tmp_file/$tmp_tar_file -C $dir/$tmp_file
fi
done
fi
i=`expr $i + 1`
done
解決方案如上所示,大神自己看
下面 下麪是小白科普時間,
Q1如何遍歷1級資料夾目錄
需要用到如下指令
dir="/hdd/prj/central_library/tsmc12/mem/test"
for tmp_file in `ls ${dir}`
do
done
這個是bash中的for語句,指在dir資料夾中遍歷一級目錄。
Q2 如何將指定目錄的指定壓縮檔案解壓縮到指定目錄中去。
tar -xzf $dir/$tmp_file/$tmp_tar_file -C $dir/$tmp_file
這個命令即可