linux 输出满足一定条件的记录
linux下,有一个日志,a.log,一行记录的前几列格式为ThuAug2911:11:24CST2013/,跟date命令输出的结果格式一样。date:ThuAug29...
linux下,有一个日志,a.log,一行记录的前几列格式为 Thu Aug 29 11:11:24 CST 2013 /,跟date命令输出的结果格式一样。date : Thu Aug 29 11:12:47 CST 2013,现在我想输出这个log中当天的记录,即如果date为Thu Aug 29 11:12:47 CST 2013,则输出所有含有Thu Aug 29 2013的记录。如果date为
Fri Aug 30 11:12:47 2013,则输出所有含有Fri Aug 30 2013。 展开
Fri Aug 30 11:12:47 2013,则输出所有含有Fri Aug 30 2013。 展开
展开全部
cat a.log | grep "Fri Aug 30" | grep "2013"
这样行么
写个脚本,先用date命令分别输出那两部分。
左边的日期是
date +%a%b%d
右边的年是
date +%Y
这样行么
写个脚本,先用date命令分别输出那两部分。
左边的日期是
date +%a%b%d
右边的年是
date +%Y
追问
差不多是这个意思。有一点需要改的是,在脚本里不知道date的情况。你的两个grep需要在知道date的情况下输出。
追答
我对shell编程还不熟,之前只是大概有这么个想法,没写出来。刚才尝试了一下,像这样写就行了:
cat a.log | grep "$(date +%a) $(date +%b) $(date +%d)" | grep "$(date +%Y)"
注意:如果用终端中的locale是中文,date命令得到的值中有汉字,需要先执行如下命令
export LC_ALL="en_US.UTF-8"
可以先用下面这个命令查看date输出是否正常
echo "$(date +%a) $(date +%b) $(date +%d)"
展开全部
awk -f awk 脚本 中调用system 执行date 获取时间 比较 $1 $2 $3 $6
追问
差不多是这个意思。具体实现得怎么写啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是用grep命令就可以实现的
追问
grep “字符”里的字符好像需要知道具体的格式。我的意思是,在不知道具体的格式的前提下,只需要根据date的输出的第1,2,3,6个字符就可以得到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询