加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 我在这里对awk,sed等感到困惑

发布时间:2020-12-15 21:57:30 所属栏目:安全 来源:网络整理
导读:到目前为止,我正试图解决这个问题并没有成功 我有一个命令输出,我需要咀嚼,使其适合进一步处理 我的文字是: 1/2 [3] (27/03/2012 19:32:54) word word word word 4/5 我需要的是只提取1/2 [3] 4/5的数字所以看起来: 1 2 3 4 5 所以,基本上我试图排除所有不
到目前为止,我正试图解决这个问题并没有成功
我有一个命令输出,我需要咀嚼,使其适合进一步处理

我的文字是:

1/2 [3] (27/03/2012 19:32:54) word word word word 4/5

我需要的是只提取1/2 [3] 4/5的数字所以看起来:

1 2 3 4 5

所以,基本上我试图排除所有不是数字的字符,如“/”,“[”,“]”等.
我用FS试过awk,尝试使用regexp,但我的尝试都没有成功.

然后我会添加一些东西
第一:1秒:2第三:3 ….等
请记住,我正在谈论的文件包含很多,如果行具有相同的结构,但我已经考虑过使用awk对每一列进行求和

awk '{sum1+=$1 ; sum2+=$2 ;......etc} END {print "first:"sum1 " second:"sum2.....etc}'

但首先我需要提取相关的数字,
“()”之间的日期可以完全省略,但它们也是数字,所以仅用数字过滤是不够的,因为它也会匹配它们

希望你能帮助我
提前致谢!

解决方法

这个:sed -r’s / [(] [^]] * [)] / / g; s / [^ 0-9] / / g’应该有效.它进行两次传递,首先删除带括号的表达式,然后用单个空格替换所有非数字运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读