awk一行awk语法只打印第二个字段,如果“true”字匹配
发布时间:2020-12-14 00:33:21 所属栏目:Linux 来源:网络整理
导读:我不知道怎么用awk这样做 但我的目标是创建awk单行语法,以便打印第二个字段($2)if 所有第一场($1)都是真的 例如 我有文件: true my_name_is_lenon true my_name_is_lenon true my_name_is_lenon false my_name_is_lenon true my_name_is_lenon false my_dog
我不知道怎么用awk这样做
但我的目标是创建awk单行语法,以便打印第二个字段($2)if 所有第一场($1)都是真的 例如 我有文件: true my_name_is_lenon true my_name_is_lenon true my_name_is_lenon false my_name_is_lenon true my_name_is_lenon false my_dog_is_fat true my_dog_is_fat true my_dog_is_fat true I_am_very_tall true I_am_very_tall true I_am_very_tall true my_ball_is_fine true my_ball_is_fine awk将只打印以下内容: I_am_very_tall my_ball_is_fine 因为I_am_very_tall,my_ball_is_fine在第一个字段上变为true而没有false my_dog_is_fat,my_name_is_lenon未打印,因为第一个字段上的假字 如果第一个字段上没有假字,则规则是打印第二个字段! (在第二场的所有相同句子中) 利迪娅 解决方法
这是一种方式:
awk '{if ($1 == "false") {array[$2] = $1} else if (array[$2] != "false") array[$2] = $1} END {for (i in array) if (array[i] == "true") print i}' inputfile 编辑: 这是多行: awk '{if ($1 == "false") {array[$2] = $1} else if (array[$2] != "false") array[$2] = $1} END {for (i in array) if (array[i] == "true") print i} ' inputfile (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – 为什么我不能在sudo pam堆栈中使用pam_echo.so?
- linux – 查找不属于组的文件
- linux – Busybox,netstat,没有-p
- 在一般的Linux和Gentoo上维护/安装ruby gems / ruby?? on r
- linux – mercurial over ssh,没有来自远程hg的合适响应
- linux – 如何在/ proc中显示文件的大小?它不应该是零大小
- linux – dnsmasq读取/ etc / hosts,但没有使用它
- 无需密码即可远程关闭/重启Linux机器
- linux – g默认头包含列表
- linux – 只有当一台路由器中有多个无线电时,Wifi性能才会很