2011-10-20 41 views
1
/usr/bin/curl http://somewebsite.com/foo.zip -o 4232.zip 
unzip -o -q -L 4232.zip 
chown 508 /home/me/www/inbound/data/??????.xml 
rm -f 4232.zip 

我正在使用此SSH腳本下載名爲foo.zip的壓縮文件,將文件重命名爲4232.zip,解壓內容。SSH解壓並更改文件名(或獲取其中包含的文件名)

我的問題是,zip文件包含一個名稱不斷變化的文件。我看不到一個解壓標誌,可以讓我重命名zip中的文件。

如何重新命名裏面的神祕文件。我的直接項目中只有一個文件。 - 或 - 如何獲得該文件名,以便我可以更改所有權並將其用於將在稍後處理它的PHP腳本中...

任何幫助,將不勝感激。

回答

2

這會告訴你的.xml文件的名稱中的zip

unzip -l z.zip | grep -o '[^/]*\.xml' 

如果要提取並重新命名xml文件

unzip -p z.zip \*.xml | cat > NEWFILE.xml 
+0

那會,除了有其他文件的工作在文件夾中......我想我可以將它擴展到它自己的文件夾中,但理想情況下,我想知道我正在擴展的zip文件中的文件名... – user409858

+0

其他.xml文件或其他文件? – wdavo

+0

xml文件...這是一個目錄,我轉儲入站數據...但一個來源拉動他們和zip文件的內容始終是動態名稱...(我知道,我可以要求他們使其成爲一個靜態名字,但我真的很想知道如何解決這個問題) – user409858