2016-02-12 52 views
1

我有一個腳本來解壓/解壓縮壓縮文件並將其放入CD中,然後運行另一個加載腳本來加載。當頂級目錄只有/時,我有獨特的情況下,一切都很好。有誰知道我應該如何處理這個獨特的情況?處理獨特的情況下解壓並進入文件夾

爲了更清楚,我需要cd到myfile_01而不是根目錄。

tar -xvzf $fname 
cd $(tar -tf $fname | grep -m3 /$) #tar it and cd into it 
loadIt        #run load script 
會導致一個問題

獨特的案例:

[[email protected] my_directory]$ tar -tf myfile_01.tgz | grep -m3 /$ 
./       # it will cause it to cd to top level directory instead of my_file01 
./myfile_01/ 
+1

所以你基本上要'cd'到存檔的第一個目錄?如果您的存檔包含至少4個頂級目錄,您希望它做什麼? – fanton

+0

這不太可能發生,但我想CD進入從tar提取的文件夾。 – kkmoslehpour

回答

1

按照腳本的模式,你就不能刪除是給你的麻煩頂級目錄?

使用grep:

tar -tf myfile_01.tgz | grep -m3 /$ | grep --invert-match --extended-regexp '^\./$' 

使用尾巴:

tar -tf myfile_01.tgz | grep -m3 /$ | tail -1 
+0

這是另一種方式來做到這一點,謝謝! – kkmoslehpour

相關問題