首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sed批量重命名

使用sed批量重命名
EN

Stack Overflow用户
提问于 2011-08-22 18:22:42
回答 1查看 134关注 0票数 0

我必须与一个巨大的XML文件,这是从Excel导出。

该文件如下所示:

代码语言:javascript
复制
<Row>
 <Data>some data..</Data>
 <Data>some data..</Data>
 <Data>some data..</Data>
 <Data>some data..</Data>
 <Data>some data..</Data>
 <Data>some data..</Data>
 <Data>some data..</Data>
<Row>

大约有2000个行元素。

因此,总是有一个带有7个数据子标签的行标签。现在我想将每个第一个数据标记重命名为' one ',第二个重命名为' second‘,依此类推。

执行此操作的正确sed语法是什么?

EN

回答 1

Stack Overflow用户

发布于 2011-08-22 18:55:54

考虑使用awk代替...

代码语言:javascript
复制
BEGIN {
    NUM[1]="one"
    NUM[2]="two"
    NUM[3]="three"
    NUM[4]="four"
    NUM[5]="five"
    NUM[6]="six"
    NUM[7]="seven"
}

/<Row/{
    print
    for(i=1;i<8;i++) {
        getline
        sub(/Data/, NUM[i]);print
    }
}
/<\/Row/{print}

输出:

代码语言:javascript
复制
$ awk -f r.awk input 
<Row>
 <one>some data..</one>
 <two>some data..</two>
 <three>some data..</three>
 <four>some data..</four>
 <five>some data..</five>
 <six>some data..</six>
 <seven>some data..</seven>
</Row>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7146030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档