请问:用grep怎样只显示记录的其中几列啊?比如:

gaoqing000 2007-08-27 11:12:32
Apr 16 16:18:35 localhost nagios: Caught SIGTERM, shutting down...
Apr 16 16:18:35 localhost nagios: Successfully shutdown... (PID=748)
Apr 16 16:18:38 localhost nagios: Nagios 2.8 starting... (PID=8503)
Apr 16 16:18:38 localhost nagios: LOG VERSION: 2.0
Apr 16 16:18:38 localhost nagios: Finished daemonizing... (New PID=8504)
Apr 16 17:03:15 localhost nagios: Caught SIGTERM, shutting down...
Apr 16 17:03:15 localhost nagios: Successfully shutdown... (PID=8504)
Apr 16 17:03:18 localhost nagios: Nagios 2.8 starting... (PID=9338)


我只想显示第三列为16:18:38 的行 的第五,第六项,
这用grep怎么写啊?
...全文
1174 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
x320721 2012-03-19
  • 打赏
  • 举报
回复
对于那些外国产品我有时侯也用不习惯,就是英文不太会啊,还有有些配置不简单的,所以我
建议你还是用国内的软件吧,比如说那个美信CreCloud的(www.mxsoft.com),中文的,安装
简单,方便,还是免费的
hifrog 2007-08-27
  • 打赏
  • 举报
回复
不好意思,打错了,应该是
grep `cat filename | awk '{print $3};' | grep "16:18:38" | head -n 1` filename
hifrog 2007-08-27
  • 打赏
  • 举报
回复
不知道楼主的意思是显示带有16:18:38的一行还是只显示这一列
显示第三列为16:18:38的行
grep `cat filename | awk '{print $3};' | grep "16:18:38 | head -n 1"` filename
只显示5、6行:
head -n 6 filename | tail -n 2
hzcpig 2007-08-27
  • 打赏
  • 举报
回复
楼上的还是不对

应该是

cat filename | awk '{print $3,$5,$6}' | grep "^16:18:38" | awk '{print $2,$3}'

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧