先引用別人的博客中的內容來講解一下sed,該博客地址為:http://www.companysz.com/end/archive/2012/05/24/2517131.html
1、網絡上現成的資料 格式: 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內的文字“garden”替換成“mirGarden”
# sed -i “s/garden/mirGarden/g” 1.txt //sed -i 很簡單
2.2 將當前目錄下的所有文件內的“garden”替換成“mirGarden”
## sed -i “s/garden/mirGarden/g” ls
//其實也就是ls出多個文件名而已
本文中的所使用的數據如下,存儲到當前目錄下的home.txt
[this is test]
現在想用sed將[]去掉,最初想法是先替換[,然后替換],執行如下命令
sed -i "s/[//g" home.txt sed -i "s/]//g" home.txt結果報如下錯誤: sed: -e exPRession #1, char 6: unterminated `s’ command
解決方法: 由于[]是特殊字符,故需要轉義一下,故命令應該成如下:
sed -i "s//[//g" home.txt sed -i "s//]//g" home.txt最終結果如下:
新聞熱點
疑難解答