茶杯君 -- 如何遍歷資料夾來解壓縮檔案,解壓縮檔案的指令碼擬寫。

2020-08-10 18:30:42

今天茶杯君又雙遇到寫指令碼的問題啦,沒辦法,小白一枚,什麼東西都要學。
今天的問題,再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
這個命令即可