首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWK getline问题

AWK getline问题
EN

Unix & Linux用户
提问于 2021-01-12 22:00:41
回答 1查看 322关注 0票数 1

我制作了一个交互式菜单脚本,只是为了好玩与awk。我能够接收用户输入,并使用一个if语句,如果响应是这个,那么getline (我在前面定义了变量)。我用这个:

代码语言:javascript
复制
while ((getline 0) {print};

但是,我想要添加更多的粒度,方法是进一步增加和添加一个简单、中等、硬、疯狂的选项,如果用户键入一个容易从文件中获取行,并且它只从文件中打印匹配的项,我想要这样做。

例句:在正常的一行中,如果我想匹配的话,我会把它放进去。

代码语言:javascript
复制
awk -F " " '/inet / {print $6}'

因此,它只会打印出与inet匹配的项。

如何通过awk循环在getline脚本中应用这个原则?

谢谢你的帮助。

基本上,而不是用以下内容打印出整个文件:

代码语言:javascript
复制
while ((getline 0) {print};

我想要这样的东西:

代码语言:javascript
复制
while ((getline 0) /Easy: / {print};

示例1-liner(更倾向于类似的输出):

代码语言:javascript
复制
awk -F " " '/Easy: / {print $2}'

或者只是

代码语言:javascript
复制
awk '/Easy: / {print $0}'
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-01-12 22:23:21

代码语言:javascript
复制
while ( (getline < file) > 0 ) {
    if (/Easy: /) {
        print $2
    }
}

但是,如果您正在考虑使用getline,请确保阅读和理解http://awk.freeshell.org/AllAboutGetline中的所有内容。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/628868

复制
相关文章

相似问题

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