【问题标题】:How to transform one-character into two-character word element using bash text processing commands?如何使用 bash 文本处理命令将一个字符转换为两个字符的单词元素?
【发布时间】:2018-06-06 17:11:53
【问题描述】:

我在一个文件夹中有很多这样的脚本:

INSERT INTO fv_xml_binary_adim VALUES (1, '<FeatureVector><feature>project</feature><feature>w</feature><feature>focus</feature><feature>d</feature><feature>new</feature><feature>cut</feature><feature>tool</feature><feature>design</feature><feature>allow</feature><feature>increas</feature><feature>high</feature><feature>speed</feature><feature>machin</feature><feature>hsm</feature><feature>product</feature></FeatureVector>');

我想把一个字符的元素转换成一个两个字符的元素。 我想把上面的命令改成:

INSERT INTO fv_xml_binary_adim VALUES (1, '<FeatureVector><feature>project</feature><feature>w0</feature><feature>focus</feature><feature>d0</feature><feature>new</feature><feature>cut</feature><feature>tool</feature><feature>design</feature><feature>allow</feature><feature>increas</feature><feature>high</feature><feature>speed</feature><feature>machin</feature><feature>hsm</feature><feature>product</feature></FeatureVector>');

如何使用 sed 或其他 bash 文本处理命令来实现?

【问题讨论】:

    标签: mysql linux bash awk sed


    【解决方案1】:

    sed

    $ sed -E 's/>(.)</>\10</g' file
    

    【讨论】:

      【解决方案2】:

      使用sed,您可以使用:

      sed 's/>\([a-z]\)</>\10</g'
      

      这会将&gt;w&lt; 转换为&gt;w0&lt; 等。

      【讨论】:

        【解决方案3】:

        您可以尝试将 Regex 与 sed 一起使用

        sed -i -E "s%(feature&gt;)([a-z]{1})(&lt;/feature)%\1\20\3%g" file

        【讨论】:

          猜你喜欢
          • 2022-10-20
          • 1970-01-01
          • 1970-01-01
          • 2011-12-22
          • 1970-01-01
          • 2021-12-25
          • 2021-01-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多