我試圖創造條件,CD到文件後,我解壓後運行一個腳本。我已經爲.tar文件完成了這項工作,但是無法提供zip的正則表達式。這是我運行的強制覆蓋解壓縮命令。bash腳本要解壓的壓縮文件,然後cd到
unzip -o my_file.zip
Archive: my_file.zip
inflating: my_file/load.file
inflating: my_file/eccn.txt
inflating: my_file/my_file.tgz
以下是我已經嘗試使用sed
unzip -o my_file.zip | sed "s|/.*$||"
Archive: my_file.zip
inflating: my_file
inflating: my_file
inflating: my_file
這裏是我如何處理的.tar文件:
tar -xvzf $fname #tar it
topDir=$(tar -xvzf $fname | sed "s|/.*$||" | uniq) #tars it verbosely and pipes it to uniq
[ $(wc -w <<< $topDir) == 1 ] || exit 1 #check to see there is one entry in $topDir
cd $topDir #cd into $topDir
echo your current dir is $PWD
tar -xvzf my_file.tgz | sed "s|/.*$||"
my_file
my_file
my_file
my_file
my_file
我的問題是如何獲得my_file之前擺脫一切(例如infalting :),然後我可以cd到提取的文件中?
很難理解你到底在問什麼。你說「我已經爲.tar文件做了這個」。你可以發佈你已經做了什麼tar文件,爲你工作,所以我們可以更好地瞭解什麼被問? – Asaph
我在這裏有點困惑。你爲什麼需要'sed'來進入一個目錄?你究竟在做什麼? – pfnuesel
我更新了我什麼,我用tar文件沒有問題,我希望做的zip文件類似,但拉鍊的輸出是不同的東西。 – kkmoslehpour