首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用AWK打印列的文本摘录?

如何用AWK打印列的文本摘录?
EN

Stack Overflow用户
提问于 2015-07-07 21:45:41
回答 1查看 114关注 0票数 2

在以如下所示的格式打印csv文件的格式化值时,我面临着一个挑战:

代码语言:javascript
复制
id=Z123456;pseudocode=zxcdsa-12345
id=2345678;pseudocode=123456-rewqa
id=abcsd34;pseudocode=23456

我试图得到这个理想的输出:

代码语言:javascript
复制
Z123456;zxcdsa-12345
2345678;123456-rewqa
abcsd34;23456

使用下面的命令,我可以打印两列,但我不知道如何从$1和$2列中提取文本片段

代码语言:javascript
复制
awk -F";" '{ print $1 ";" $2}' sample.csv

在$1中,需要提取id=和分号字段分隔符之间的部分。对于第二列$2,要打印的匹配模式位于字符串"pseudocode=“之后,直到行尾。

在结束后,将结果写入一个文件中,如下所示:

代码语言:javascript
复制
awk -F";" '{ print $1 ";" $2}' sample.csv > result.csv

我怎样才能用awk完成这个结果呢?

谢谢你帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-07 21:48:51

您可以使用;=作为字段分隔符:

代码语言:javascript
复制
awk -F'[;=]' '{ print $2 ";" $4 }' file

其中[;=];=的字符类

或使用sed:

代码语言:javascript
复制
sed 's/[^=;]*=//g' file
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31279886

复制
相关文章

相似问题

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