原理:find命令的运用,如搜寻file文件夹下所有包含2018和BUILDING两个关键字的文件
find file -name '*2018*' -a -name '*BUILDING*' 或者简写:
find file -name '*2018*BUILDING'
(-a表示并,-o表示或)。
rename命令的运用。如果需要之后对找到的文件进行批量重命名,rename格式如下:
rename '要替换的字符' '替换成的字符' file
如:将所有含有BUILDING的字符替换为TRAFFIC,
rename 'BUILDING' 'TRAFFIC' file
files='4425 4419 4441' #cities为/inspur/FUSE_DATA/下文件夹名称,注意可以写多个。
for city in $files #echo city变量 输出的是文件夹下每个文件的绝对路径。
do
echo " !!! !!! Processing City: $city !!! !!!"
cityPath='/inspur/FUSE_DATA/'$city
dstBuildingCoverPath='/inspur/CalCity/'$city'/Infos/Buildings' #指定将搜索到的文件拷贝到此目录
imgBuildingCoverPaths=`find $cityPath -name '*2018*BUILDING_COVER.tiff'`
imgBuildingCoverCounts=`find $cityPath -name '*2018*BUILDING_COVER.tiff' | wc -l` #wc -l 统计文件数
numBuildingCover=0
for srcImgBuildingCoverPath in $imgBuildingCoverPaths
do
numBuildingCover=$[$numBuildingCover+1]
echo " !!! !!! Processing City: $city !!! Processing BuildingCover Img: $numBuildingCover !!! Total BuildingCover Imgs: $imgBuildingCoverCounts !!! !!!"
cp $srcImgBuildingCoverPath $dstBuildingCoverPath
done
done
find -name "*_GEO.xml" | xargs grep 'N'