2015-11-07 87 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文件到一个新的文件夹,数字高程模型,并删除所有的休息

不过它看起来有点太长了,不是很优雅,但它的工作.. 。