首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从文件列中提取部件

从文件列中提取部件
EN

Unix & Linux用户
提问于 2014-01-10 17:44:12
回答 1查看 1.9K关注 0票数 3

我想从日志文件列中提取部件,如下所示:

代码语言:javascript
运行
复制
xx.xxx.xx.xx#59796:

编辑:

这是实际的日志行:

代码语言:javascript
运行
复制
Jan 10 17:38:11 server named[747]: client 21x.x0.x8x.xxx#40649: view external: query (cache) 'domain.TLD/A/IN' denied

上面行中"#“之前的部分是一个IP地址,我只想提取IP。"#“后面的部分是随机数,并不总是相同的。

我使用下面的命令对grep进行模式处理,提取IP列,然后将输出重定向到文本文件,但随后我必须使用编辑器从提取的列中删除额外的字符。

代码语言:javascript
运行
复制
grep -E 'view external.*denied' /var/log/messages |awk '{print $7}' > view_external_denied_ip.txt

如果我只能提取IP而没有列中的额外字符,我将使用排序命令对它们进行排序(排序\ uniq -c \排序-rn )。

EN

回答 1

Unix & Linux用户

发布于 2014-01-10 17:58:45

代码语言:javascript
运行
复制
sed 's/\#.*//' /path/to/logfile # this will trim anything including and after a `#` on every line.
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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