国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux下批量替換文件內容的方法

2020-06-13 12:06:06
字體:
來源:轉載
供稿:網友

對于單個文件,使用sed命令很容易做到。如果需要替換某個指定文件夾下所有文件,借助grep和sed組合成一條命令也可以輕松搞定。

grep命令可以查找單個文件或文件夾下文件中的內容,使用參數“r”或“-R”可以遞歸查找指定文件夾下的所有文件;參數“l”可以讓grep輸出包含指定字符串的文件名,首次匹配成功后立刻停止對同文件的查詢。如果不使用“l“,grep查詢單個文件時輸出文件中所有包含指定字符串的行,對文件夾查詢時則按照“文件名:包含字符串行”的方式輸出。

將下面的內容替換掉。
http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js
http://libs.baidu.com/jquery/1.9.0/jquery.js

 

復制代碼
代碼如下:

sed -i "s/ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js/libs.baidu.com/jquery/1.9.0/jquery.js/g" 1.htm
sed -i "s/ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js/libs.baidu.com/jquery/1.9.0/jquery.js/g" `ls`


你可能對linux之sed用法 感興趣。

有了上面提到的知識,執行批量替換的命令可以寫為:

 

grep "netingcn" -rl /assign-path | xargs sed -i 's/netingcn/www.netingcn/g'

sed -i 's/netingcn/www.netingcn/g' `grep "netingcn" -rl /assign-path`

還有一種比較復雜的寫法:

grep "netingcn" * -R | awk -F: '{print $1}'  | sort | uniq | xargs sed -i 's/netingcn/www.netingcn/g'

其中命令awk用于分割字符串、uniq對結果進行除重。

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出多個文件名而已


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海晏县| 托里县| 舟曲县| 泌阳县| 怀集县| 海盐县| 双辽市| 巴青县| 百色市| 嘉兴市| 乌兰县| 梁平县| 中牟县| 巴彦县| 淳安县| 利辛县| 峨眉山市| 梁平县| 邹平县| 榆树市| 鄂托克旗| 灵璧县| 白玉县| 北川| 蒙自县| 霍邱县| 宽甸| 类乌齐县| 东明县| 凤庆县| 镇康县| 江津市| 陈巴尔虎旗| 绥江县| 永嘉县| 屏山县| 博野县| 弥渡县| 徐州市| 陕西省| 正蓝旗|