搜索和替换正则表达式的可能性,以添加<beg>和</end>标记到每一行:



我想知道人们知道的在每行添加标签的选项。

假设我有100个条目需要放入字符串数组

<resources>
    <string-array>
    item001
    item002
    item003
        ...
    </string-array>
</resources>

我需要的是以某种方式将每一行或每一行与其中的项进行换行,例如:

<resources>
    <string-array>
    <item>item001</item>
    <item>item002</item>
    <item>item003</item>
        ...
    </string-array>
</resources>

我希望在您的普通Linux机器上实现一个解决方案。请不要使用windows/osx。谢谢!

如您所愿,在Linux

下awk解决方案
awk '!/<.*>/ && $0{gsub(/^[ t]+/,"",$0);$0="<item>"$0"</item>"}1' yourXml

测试你的代码片段:

kent$  echo "<resources>
    <string-array>
    item001
    item002
    item003
        ...
    </string-array>
</resources>
"|awk '!/<.*>/ && $0{gsub(/^[ t]+/,"",$0);$0="<item>"$0"</item>"}1'

<resources>
    <string-array>
<item>item001</item>
<item>item002</item>
<item>item003</item>
<item>...</item>
    </string-array>
</resources>

在Eclipse 'Find and Replace'对话框中选择正则表达式复选框,然后替换

(^s*)([^<rn]+$)

1<item>2<item>

最新更新