如何使用shell脚本执行命令并将文件存储在文件夹中?

时间:2016-10-15 01:00:04

标签: linux bash shell

我有大量的tif文件。

a.tif
b.tif
axx.tif
auw.tif

我正在尝试编写一个

的脚本
  1. 搜索所有.tif文件
  2. 执行gdal转换
  3. 在名为“subdir”

    的子目录下存储具有相同文件名的新文件
    #!/bin/csh
    
    list - ls *.tif
    
    for file in list
            gdalwarp -t_srs EPSG:4269 -te -130 20 -60 55 -tr 0.01 -0.01 oldfilename.tif subdir/oldfilename.tif
    

    完成

  4. 我该怎么做?

1 个答案:

答案 0 :(得分:1)

不是使用“list”来查找文件,而是使用“find”命令,这里是如何完成的:

find . -name "*.tif" -exec gdalwarp -t_srs EPSG:4269 -te -130 20 -60 55 -tr 0.01 -0.01 {} subdir/{} \;

说明:

。代表“当前目录”-name选项搜索名称与给定模式匹配的文件。

-exec选项用于使用找到的“find”文件运行命令。 {}代表找到的“文件名”,必须运行的命令后面必须跟\;

我强烈建议您阅读手册中的查找内容,并在尝试编写shell脚本时对您可以使用的工具进行更多研究。

问候!