sed執行個體備忘錄

來源:互聯網
上載者:User

sed執行個體備忘錄 需求: 修改所有automation script目錄下的build config file。每個feature下面都會有至少一個個build config file,檔案名稱為:build.cfg, build_6.9.cfg ... 需要在每個build config file搜尋 關鍵字:INCLUDE_PING 或 INCLUDE_PING6. 如果找到了關鍵字,則需要插入:INCLUDE_IPPING_CMD 或 INCLUDE_IPPING6_CMD 而關鍵字出現的位置可能有四種: 1. 開頭,但不是結尾: vip_components_t1 = "INCLUDE_PING \這種情況需要插入目標行到關鍵字行下面行即可; 目標效果: vip_components_t1 = "INCLUDE_PING \                           INCLUDE_IPPING_CMD \ 2. 中間,非開頭非結尾:  vip_components_t2 = "INCLUDE_SHELL \        INCLUDE_SHELL_INTERP_CMD \        INCLUDE_PING \        INCLUDE_PING6 \        INCLUDE_IPPING6_CMD"這種情況,需要添加目標行到關鍵字上方或者上方都可以。 目標效果:  vip_components_t2 = "INCLUDE_SHELL \        INCLUDE_SHELL_INTERP_CMD \        INCLUDE_PING \         INCLUDE_IPPING_CMD \        INCLUDE_PING6 \         INCLUDE_IPPING6_CMD \        INCLUDE_IPPING6_CMD" 3. 結尾。 vip_components_t2 = "INCLUDE_SHELL \        INCLUDE_SHELL_INTERP_CMD \        INCLUDE_PING" 這種情況,需要添加目標行到關鍵字行的上一行。 目標效果: vip_components_t2 = "INCLUDE_SHELL \        INCLUDE_SHELL_INTERP_CMD \          INCLUDE_IPPING_CMD \        INCLUDE_PING" 4. 開頭,同時也是結尾 vip_components_t2 = "INCLUDE_PING" 這種情況稍微複雜一些,需要插入目標行到關鍵字行下方,同時關鍵字之後的雙引號也要替換成反斜線。 目標效果: vip_components_t2 = "INCLUDE_PING \                           INCLUDE_IPPING_CMD" 解決方案: 分析之後,其實情況1, 2都可以用一個sed運算式解決,情況3 需要另外寫一個運算式。 由於情況4的case很少,而且稍微複雜一些,沒有用sed解決(留著以後思考) sed 運算式: find . -name "build*.cfg" |xargs sed -e '/INCLUDE_PING\>\s*\\/a\    INCLUDE_IPPING_CMD\ \\' -e '/INCLUDE_PING6\>\s*\\/a\    INCLUDE_IPPING6_CMD\ \\' -e '/[^\"]\s*INCLUDE_PING\>\s*\"/i\    INCLUDE_IPPING_CMD\ \\' -e '/[^\"]\s*INCLUDE_PING6\>\s*\"/i\    INCLUDE_IPPING6_CMD\ \\' -i 該運算式解決了情況1,2,3, 為瞭解決情況4:  find . -name "build*.cfg" |xargs grep -niHr \"INCLUDE_PING\" 然後根據搜尋出來的檔案名稱,分別手動修改(笨方法)。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.