首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用awk添加数据从现有列中分离的新列

使用awk添加数据从现有列中分离的新列
EN

Stack Overflow用户
提问于 2013-08-17 22:26:19
回答 1查看 830关注 0票数 0

这能用awk实现吗?我希望添加一个新列,它分隔了现有列中的数据。我的输入文件是一个标签分隔的文本文件。设备-0,设备-1的列是从phone-0-1,phone-1-2派生的新列.

输入:

代码语言:javascript
复制
category1    phone-0-1   working     0000   0000     new     0
category1    phone-1-2   working     0000   0000     new     0
category1    phone-2-4   working     0000   0000     new     0
category1    phone-3-5   working     0000   0000     new     0
category1    phone-4-6   working     0000   0000     new     0

输出:

代码语言:javascript
复制
category1    device-0   phone-0-1    working     0000   0000     new     0
category1    device-1   phone-1-2    working     0000   0000     new     0
category1    device-2   phone-2-4    working     0000   0000     new     0
category1    device-3   phone-3-5    working     0000   0000     new     0
category1    device-4   phone-4-6    working     0000   0000     new     0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-17 22:38:57

试试下面的sed行,看看它是否有效:

代码语言:javascript
复制
 sed 's/\sphone-[0-9]\+/&\t&/' file

awk也有同样的想法:

代码语言:javascript
复制
awk -F'\t' -v OFS='\t' '{sub(/phone-[0-9]+/,"&\t&",$2)}7' file

编辑,重命名为设备:

代码语言:javascript
复制
sed 's/\(\s\+\)phone-\([0-9]\+\)/\1device-\2&/' file
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18293863

复制
相关文章

相似问题

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