先引用別人的博客中的內(nèi)容來講解一下sed,該博客地址為:http://m.survivalescaperooms.com/end/archive/2012/05/24/2517131.html
1、網(wǎng)絡(luò)上現(xiàn)成的資料 格式: sed -i “s/查找字段/替換字段/g” grep 查找字段 -rl 路徑
linux sed 批量替換多個文件中的字符串
sed -i “s/oldstring/newstring/g” grep oldstring -rl yourdir
例如:替換/home下所有文件中的www.admin99.net為admin99.net
sed -i “s/www.admin99.net/admin99.net/g” grep www.admin99.net -rl /home
exp:sed -i “s/shabi/$/g” grep shabi -rl ./
2、自己額外附加
2.1 將文件1.txt內(nèi)的文字“garden”替換成“mirGarden”
# sed -i “s/garden/mirGarden/g” 1.txt //sed -i 很簡單
2.2 將當(dāng)前目錄下的所有文件內(nèi)的“garden”替換成“mirGarden”
## sed -i “s/garden/mirGarden/g” ls //其實也就是ls出多個文件名而已
本文中的所使用的數(shù)據(jù)如下,存儲到當(dāng)前目錄下的home.txt
[this is test]
現(xiàn)在想用sed將[]去掉,最初想法是先替換[,然后替換],執(zhí)行如下命令
sed -i "s/[//g" home.txt sed -i "s/]//g" home.txt結(jié)果報如下錯誤: sed: -e exPRession #1, char 6: unterminated `s’ command 
解決方法: 由于[]是特殊字符,故需要轉(zhuǎn)義一下,故命令應(yīng)該成如下:
sed -i "s//[//g" home.txt sed -i "s//]//g" home.txt最終結(jié)果如下: 
新聞熱點
疑難解答