shell替換程式裡的程式碼
需求:
副檔名型別: .php .html .shtml .inc
將http://market.pk.com/files/union/ad_union_5.js替換為http://market.pk.com/files/union/union_5.js
http://market.pk.com/files/advertisement/27/ad_27.js替換http://market.pk.com/files/upload/27/27.js
http://market.pk.com/files/union/ad_union_(*).js
替換為:http://market.pk.com/files/union/union_(*).js
http://market.pk.com/files/advertisement/(*)/ad_(*).js
替換為:http://market.pk.com/files/upload/(*)/(*).js
指令碼1:
#!/bin/bash
ROOT_DIR='/root/temp/wow'
KEYWORD='ad_union'
KEYWORD2='advertisement'
#for i in $(find $ROOT_DIR -name "*.*" -exec grep "$KEYWORD" {} \;)
for i in $(find $ROOT_DIR -name "*.*")
do
ifile=$(grep "$KEYWORD" $i)
if [ "$?" -eq "0" ]
then
FILE_NUMBER=$(echo $ifile | awk -F"\"" '{print $2}' | awk -F"/" '{print $NF}' | awk -F"." '{print $1}' | awk -F"_" '{print $NF}')
#sed -i "s#ad\_union\_[0-9][0-9]#union\_$FILE_NUMBER#g" $i
sed -i "s#ad\_union\_$FILE_NUMBER#union\_$FILE_NUMBER#g" $i
fi
ifile=$(grep "$KEYWORD2" $i)
if [ "$?" -eq "0" ]
then
FILE_NUMBER2=$(echo $ifile | awk -F"\"" '{print $2}' | awk -F"/" '{print $NF}' | awk -F"." '{print $1}' | awk -F"_" '{print $NF}')
sed -i "s#advertisement\/$FILE_NUMBER2\/ad\_$FILE_NUMBER2#upload\/$FILE_NUMBER2\/$FILE_NUMBER2#g" $i
fi
done
指令碼2:
#!/bin/bash
EXT_ARRAY=("*.php" "*.inc" "*.html" "*.shtml")
EXT_ARRAY_LEN=${#EXT_ARRAY[@]}
ROOT_DIR='/root/temp/wow'
KEYWORD='ad_union'
KEYWORD2='advertisement'
#i=0
#while [ $i -lt $EXT_ARRAY_LEN ]
#do
# find $ROOT_DIR -name "${EXT_ARRAY[$i]}" | while read f
# do
# sed -i 's#union\/ad_union_5\.js#union\/union_5\.js#g' $f
# sed -i 's#advertisement\/27\/ad_27\.js#upload\/27\/27\.js#g' $f
# done
# let i++
#done
#for i in $(find $ROOT_DIR -name "*.*" -exec grep "$KEYWORD" {} \;)
for i in $(find $ROOT_DIR -name "*.*")
do
ifile=$(grep "$KEYWORD" $i)
if [ "$?" -eq "0" ]
then
FILE_NUMBER=$(echo $ifile | awk -F"/" '{print $NF}' | awk -F"." '{print $1}' | awk -F"_" '{print $NF}')
#sed -i "s#ad\_union\_[0-9][0-9]#union\_$FILE_NUMBER#g" $i
sed -i "s#ad\_union\_$FILE_NUMBER#union\_$FILE_NUMBER#g" $i
fi
ifile=$(grep "$KEYWORD2" $i)
if [ "$?" -eq "0" ]
then
FILE_NUMBER2=$(echo $ifile | awk -F"/" '{print $NF}' | awk -F"." '{print $1}' | awk -F"_" '{print $NF}')
sed -i "s#advertisement\/$FILE_NUMBER2\/ad\_$FILE_NUMBER2#upload\/$FILE_NUMBER2\/$FILE_NUMBER2#g" $i
fi
done
這兩個指令碼分別執行替換程式裡的程式碼內容。
本文轉自 liang3391 51CTO部落格,原文連結:http://blog.51cto.com/liang3391/456622
相關文章
- shell替換程式碼
- Linux Shell程式設計(28)——程式替換Linux程式設計
- Linux Shell程式設計(24)——命令替換Linux程式設計
- Linux Shell程式設計(6)——變數替換Linux程式設計變數
- 程式等待和程式替換
- 如何優雅的替換掉程式碼中的ifelse
- 基於多重替換方式的iOS程式碼混淆方案iOS
- js替換字串裡的空格JS字串
- 使用shell指令碼替換csv檔案中的資料指令碼
- Linux——程式建立、程式終止、程式等待、程式程式替換Linux
- replace()方法替換字串內容程式碼例項字串
- sql 將程式碼替換成碼錶相對應的翻譯SQL
- SHELL程式設計實現批量Netatalk字符集檔名替換程式設計
- 如何在OS X中建立郵箱地址的替換程式碼
- 將url中的指定引數替換的javascript程式碼例項JavaScript
- 裡式替換原則(LSP)
- 程式程式碼裡的幽默精神
- 如何將Windows的桌面替換成自己的程式Windows
- ant如何替換JAVA程式碼中的String變數中的值?Java變數
- Shell轉義字元與變數替換字元變數
- python 小程式,替換檔案中的字串Python字串
- 程式碼上線的shell指令碼指令碼
- Shell 中的命令替換及引數擴充套件套件
- grep、sed批量替換檔案內容shell
- Linux下可以替換執行中的程式麼?Linux
- Spring Cloud Alibaba遷移指南(二):零程式碼替換 EurekaSpringCloud
- 替換預設select下拉選單箭頭程式碼例項
- csgo國服程式碼在哪裡輸入 csgo切換成國服的程式碼是什麼Go
- 破譯替換密碼的方法密碼
- Shell 指令碼程式併發&程式數控制指令碼
- Android熱修復升級探索——追尋極致的程式碼熱替換Android
- 通用程式部署shell指令碼指令碼
- linux替換jar裡面的class檔案LinuxJAR
- 遨翔在知識的海洋裡----(replace中的$替換)
- Linux系統程式設計之程式替換:exec 函式族Linux程式設計函式
- 使用Shell指令碼查詢程式對應的程式ID指令碼
- Linux系統程式設計之程式控制(程式建立、終止、等待及替換)Linux程式設計
- shell指令碼按照程式名稱殺死程式指令碼