linux sed 批量替換字符串

          Posted on 2009-05-28 00:40 林光炎 閱讀(690) 評論(0)  編輯  收藏 所屬分類: LINUX
          比如,要將目錄/modules下面所有文件中的zhangsan都修改成lisi,這樣做:

          sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`

          解釋一下:

          -i 表示inplace edit,就地修改文件
          -r 表示搜索子目錄
          -l 表示輸出匹配的文件名


          這個命令組合很強大,要注意備份文件。


          (1)sed 'y/1234567890/ABCDEFGHIJ/' test_sed
          sed 'y/1234567890/ABCDEFGHIJ/' filename
          ABCDEFGHIJ
          BCDEFGHIJA
          CDEFGHIJAB
          DEFGHIJABC
          注意變換關系是按兩個list的位置對應變換

          其中:test_sed的內容是:
          1234567890
          2345678901
          3456789012
          4567890123


          (2)
          替換每行所有匹配
          sed 's/01/Ab/g' test_sed
          1234567890
          23456789Ab
          3456789Ab2
          456789Ab23

          注意:第一行的0,1沒有分別替換為A,b

          posts - 104, comments - 33, trackbacks - 0, articles - 0

          Copyright © 林光炎

          主站蜘蛛池模板: 永丰县| 隆德县| 马边| 淮北市| 化隆| 莱阳市| 武隆县| 邯郸县| 朝阳市| 黄冈市| 十堰市| 广丰县| 兴仁县| 兴山县| 武穴市| 淮北市| 汝阳县| 吴江市| 和顺县| 麟游县| 天全县| 福鼎市| 明水县| 彝良县| 乳山市| 阳原县| 岳池县| 新乐市| 马公市| 松溪县| 陇南市| 湖口县| 屯昌县| 丹巴县| 库尔勒市| 盐山县| 色达县| 普兰店市| 正安县| 杭锦后旗| 鹤山市|