原理: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'