【问题标题】:How do I extract or cut particular data from file?如何从文件中提取或剪切特定数据?
【发布时间】:2019-11-20 11:03:42
【问题描述】:

我有一个场景,我只想从文件中剪切特定数据。

我的文件包含以下数据:

/f/demo/Dummy/g/STSE/abc.xml:262:123:        <NAME ="ABC_BCD">
/f/demo/Dummy/g/STSE/cde.xml:263:ABX:         <NAME ="ABC_BCDXXXXX OBH=TYPE">
/f/demo/Dummy/g/STSE/12a.xml:264:2:456:       <NAME ="ABC_BCD"> 
/f/demo/Dummy/g/STSE/a2c.xml:265:      <NAME ="ABC_BCD">   
/f/demo/Dummy/g/STSE/wed.xml:266:         <NAME ="ABC_BCD" TYPE=LS OBG=UI RML=HJ>
/f/demo/Dummy/g/STSE/as.xml:267:234:    <NAME ="ABC_BCD" TYPE=LS OBG=UI RML=HJ>    
/f/demo/Dummy/g/STSE/ass.xml:268:LMD :        <NAME ="ABC_BCD" TYPE=LS OBG=UI>
/f/demo/Dummy/g/STSE/sc.xml:269:22221:        <NAME ="ABC_BCD" TYPE=LS OBG=UI RML=HJ>

我只需要以下格式的输出,不包括重复的

<NAME ="ABC_BCD">
<NAME ="ABC_BCDXXXXX OBH=TYPE">
<NAME ="ABC_BCD"> 
<NAME ="ABC_BCD">   
<NAME ="ABC_BCD" TYPE=LS OBG=UI RML=HJ>
<NAME ="ABC_BCD" TYPE=LS OBG=UI RML=HJ>    
<NAME ="ABC_BCD" TYPE=LS OBG=UI>
<NAME ="ABC_BCD" TYPE=LS OBG=UI RML=HJ>

我用下面的命令没用:

sed 's/[[:digit:]]/+[[:space:]]/+ filename

【问题讨论】:

标签: shell sed


【解决方案1】:

只需要从&lt;Name till end ….. &gt;获取数据

因此,如果 &lt;NAME 是常量,则删除前面的所有内容:

sed 's/.*<NAME/<NAME/`

您还可以匹配一些空格以使正则表达式更好:

sed 's/.*        <NAME/<NAME/`

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 2014-02-02
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    相关资源
    最近更新 更多