Bash脚本以查找URL后第一个出现的字符串

Bash脚本以查找URL后第一个出现的字符串,bash,shell,command,find-occurrences,Bash,Shell,Command,Find Occurrences,我不知道如何解决这个简单的问题: 我在脚本中有一个XML文件和一个URL作为参数:$URL 我需要在$URL后面找到字符串NO\u CODE,可以是:并将该字符串替换为:CODE\u OK 有什么简单的方法可以做到这一点吗 <Row ss:AutoFitHeight="0"> <Cell ss:StyleID="s65" ss:HRef="http://www.webpage1.com"><Data ss:Type="String">Nam

我不知道如何解决这个简单的问题:

我在脚本中有一个XML文件和一个URL作为参数:$URL

我需要在$URL后面找到字符串NO\u CODE,可以是:并将该字符串替换为:CODE\u OK

有什么简单的方法可以做到这一点吗

<Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s65" ss:HRef="http://www.webpage1.com"><Data
      ss:Type="String">Name of the webpage 1</Data></Cell>
    <Cell><Data ss:Type="String">NO_CODE</Data></Cell>
   </Row>
   <Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s65" ss:HRef="http://www.webpage2.com"><Data
      ss:Type="String">Name of the webpage 2</Data></Cell>
    <Cell><Data ss:Type="String">NO_CODE</Data></Cell>
   </Row>
   <Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s65" ss:HRef="http://www.webpage3.com"><Data
      ss:Type="String">Name of the webpage 3</Data></Cell>
    <Cell><Data ss:Type="String">NO_CODE</Data></Cell>
   </Row>

非常感谢。

通过GNU awk和sed

$ awk -v RS="</Row>" '/http:\/\/www\.webpage2\.com/{sub(/NO_CODE/,"CODE_OK")}1' ORS="</Row>" file | sed '$d'
<Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s65" ss:HRef="http://www.webpage1.com"><Data
      ss:Type="String">Name of the webpage 1</Data></Cell>
    <Cell><Data ss:Type="String">NO_CODE</Data></Cell>
   </Row>
   <Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s65" ss:HRef="http://www.webpage2.com"><Data
      ss:Type="String">Name of the webpage 2</Data></Cell>
    <Cell><Data ss:Type="String">CODE_OK</Data></Cell>
   </Row>
   <Row ss:AutoFitHeight="0">
    <Cell ss:StyleID="s65" ss:HRef="http://www.webpage3.com"><Data
      ss:Type="String">Name of the webpage 3</Data></Cell>
    <Cell><Data ss:Type="String">NO_CODE</Data></Cell>
   </Row>
另一种方式

awk '/www.webpage2.com/{x=1}x{if(sub(/NO_CODE/,"CODE_OK"))x=0}1' file
可变的

awk -vy="$website" '$0~y{x=1}x{if(sub(/NO_CODE/,"CODE_OK"))x=0}1' file

为网站使用一个变量怎么样,例如:WEBPAGE=然后将该变量与网站一起传递给awk?Thansk@user3139207您可以通过awk的-v参数来实现这一点。但是如何将其集成到本例中呢?有什么帮助吗?@user3139207将其作为另一个问题提问,以获得即时响应。@user3139207更新了答案