首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用'awk in awk‘

使用'awk in awk‘
EN

Stack Overflow用户
提问于 2021-02-12 07:48:47
回答 4查看 207关注 0票数 1

如何在":“之前用awk分隔下面的行,直到"-"?

代码语言:javascript
复制
cat list.txt
domain.com/prod-1/name-1/imagename:1.0.71-b651706b950efc68857089d89ej3423423adfdsf
domain.com/prod02/name-2asd-asdasd-11/imagename1:2.0.71-b651706b950efc68857089dsdfsdfsdfsdfsdf

我试过awk in awk,但没有成功

代码语言:javascript
复制
cat ist.txt |awk -F ":" {'a=$1; b=awk -F "-"{'print $2'};print a b '}

预期结果为

代码语言:javascript
复制
domain.com/prod-1/name-1/imagename:1.0.71
domain.com/prod02/name-2asd-asdasd-11/imagename1:2.0.71
EN

回答 4

Stack Overflow用户

发布于 2021-02-12 07:53:59

awk中使用split()函数拆分字符串。

代码语言:javascript
复制
awk -F':' '{split($2, a, /-/); print $1 ":" a[1]}' ist.txt
票数 2
EN

Stack Overflow用户

发布于 2021-02-12 08:00:29

使用sed

代码语言:javascript
复制
$ sed -E 's/(:[^-]*)-.*/\1/' file

domain.com/prod-1/name-1/imagename:1.0.71
domain.com/prod02/name-2asd-asdasd-11/imagename1:2.0.71
票数 2
EN

Stack Overflow用户

发布于 2021-02-12 16:07:45

在GNU awk上使用gensub()函数

代码语言:javascript
复制
awk '{print gensub(/(^.*)(-.*$)/,"\\1","g")}' file
domain.com/prod-1/name-1/imagename:1.0.71
domain.com/prod02/name-2asd-asdasd-11/imagename1:2.0.71
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66164658

复制
相关文章

相似问题

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