2015-11-07 94 views
0

內呼嘯而過的名稱文件提取我是新手 - 我再也找不到像我這樣的問題,所以希望不是因爲太明顯...終端OSX - 拉鍊

(隨着終端osx)我的目標是解壓縮到當前目錄中的特定文件夾中具有2個拉鍊級別的特定名稱的所有文件,並清除除指定文件夾以外的所有文件。

結構是:

  • 瓷磚_ ## ZIP
    1. ASTGTM2_#1#名爲.zip
      • ASTGTM2_#1_1#_dem.tif
      • ASTGTM2_#1_2#_num。 .tif
    2. ASTGTM2_#2#.zip
      • ASTGTM2_#2-2#_dem.tif
      • ASTGTM2_#2-2#_num.tif
    3. ASTGTM2_#,3​​#名爲.zip ...

在名_# Number#,#Number#是一系列識別每個文件的字母和數字。

在 '僞指令':

unzip Tiles_*.zip | unzip ASTGTM2_*.zip | mkdir DEM | mv **/*_dem.tif ./DEM | rm -r But_DEM 

我有沒有成功不同convinations試過......

我在做什麼錯?

+0

您可以使用'-p'組合提取到'stdout'(用於管道)和通配符用於解壓縮文件。閱讀手冊。 –

回答

0

也許是這樣的:

mkdir tmp DEM 
for i in Tiles_*.zip; do unzip $i -d tmp; done 
for i in tmp/ASTGTM2_*.zip; do unzip $i -d DEM; done 
rm -rf tmp 

它使用-d選項指定的目錄中提取文件。

+0

謝謝nneonneo!這是一個很好的選項,可以將所有父母郵件中的所有內容上傳到DEM文件夾中。我想更進一步,但是,在DEM文件夾中只留下* _dem.tif文件。我正在嘗試,但目前尚未進行管理...... – Ge0Da

0

好吧,明白了......感謝使用nneonneo語法,我不知道。

mkdir tmp ZIPs DEMs 
for i in Tiles_*.zip; do unzip $i -d ZIPs; done 
for i in ZIPs/ASTGTM2_*.zip; do unzip $i -d tmp; done 
for i in tmp/ASTGTM2_*/*_dem.tif; do mv $i -d DEMs; done 
rm -rf tmp ZIPs *.zip 

這使得所有的* _dem.tif文件到一個新的文件夾,數字高程模型,並刪除所有的休息

不過它看起來有點太長了,不是很優雅,但它的工作.. 。