regex - AWK - 基于正则表达式的增值
问题描述
我必须在 linux 中使用 awk 添加 REGEX 返回的数字。
基本上来自这个文件:
123john456:x:98:98::/home/john123:/bin/bash
我必须添加数字123
并456
使用 awk。所以结果是579
到目前为止,我已经完成了以下工作:
awk -F ':' '$1 ~ VAR+="/[0-9].*(?=:)/" ; {print VAR}' /etc/passwd
awk -F ':' 'VAR+="/[0-9].*(?=:)/" ; {print VAR}' /etc/passwd
awk -F ':' 'match($1, VAR=/[0-9].*?:/) ; {print VAR}' /etc/passwd
从我所见,比赛根本不支持这一点。
有人有什么想法吗?
更新:它也应该适用于
john123
结果->123
123john
结果->123
解决方案
$ awk -F':' '{split($1,t,/[^0-9]+/); print t[1] + t[2]}' file
579
根据您的更新要求:
$ cat file
123john456:x:98:98::/home/john123:/bin/bash
john123:x:98:98::/home/john123:/bin/bash
123john:x:98:98::/home/john123:/bin/bash
$ awk -F':' '{split($1,t,/[^0-9]+/); print t[1] + t[2]}' file
579
123
123
推荐阅读
- php - 如何从背包 laravel 中的 select2_from_ajax_multiple 中保存多个值
- docker - Jenkins 无法使用 unix 用户/组进行身份验证
- python - 如何使用 python 将 3D 云数据点转换为网格?
- r - 使用 fct_relevel 给出错误:`f` must be a factor (or character vector)
- r - 网页抓取和重塑数据
- javascript - Bootstrap 导航栏切换按钮不起作用
- flutter - Flutter 中 Vector 类的神秘属性
- python - python 属性设置器参数的类型注释应该是什么?
- sqlite - 烧瓶会话cookie
- node.js - 无法使用 express 获取我的实际公共 IP