awk 条件过滤

[复制链接]
查看11 | 回复3 | 2016-11-16 22:10:45 | 显示全部楼层 |阅读模式
grep -vE "[0-9]{1,2}(\:[0-9]{1,2}){2}" file用正则把直接取时间固定格式 xx:xx:xx时分秒 ,然后grep -E正则扩展,-v反匹配,这两个参数合起来用,就过滤到时间所在的行了,不能象他们那样过虑特定字符,万一字符变了呢?只有时间固定格式全球统一,绝不会变!正则的含义:[0-9]的数字
{1,2}出现一到两次(\:转译冒号[0-9]{1,2}即[0-9]的数字出现一到两次)然后小括号里的出现2次,这样就组合成了任意 小时,分钟和秒了。 给分吧~~ [yuechengjun@localhost ~]$ grep -vE "[0-9]{1,2}(\:[0-9]{1,2}){2}" ...
回复

使用道具 举报

千问 | 2016-11-16 22:10:45 | 显示全部楼层
sed -i 's/^.*CST.*$//g' file #把时间删掉awk '{sub(/.*CST.*/,"")};1' file #awk的后边那句:其他的输出不一定有规律,也不一定是总和为:组播为什么等我没听懂说的什么意思。...
回复

使用道具 举报

千问 | 2016-11-16 22:10:45 | 显示全部楼层
先确认一下你的问题: 仅仅去掉时间戳相关的行,保留其他所有的行,而且其他的行不一定都是很有规律的, 是这样吗???如果是这样的话,可以参考这个思路:以CST作为分隔符gawk -W re-interval -F"CST" ' !(NF==2 && $2~/[0-9]{4}/){print $0}'-W re-int...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行