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。
展开
 我来答
我似来打酱油滴
2013-08-29 · TA获得超过313个赞
知道小有建树答主
回答量:305
采纳率:100%
帮助的人:320万
展开全部
cat a.log | grep "Fri Aug 30" | grep "2013"
这样行么
写个脚本,先用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)"
StarZ134567
2013-08-29 · 超过16用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:38.2万
展开全部
awk -f awk 脚本 中调用system 执行date 获取时间 比较 $1 $2 $3 $6
追问
差不多是这个意思。具体实现得怎么写啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Andy_yyang
2013-08-29 · TA获得超过132个赞
知道答主
回答量:193
采纳率:0%
帮助的人:80.4万
展开全部
应该是用grep命令就可以实现的
追问
grep “字符”里的字符好像需要知道具体的格式。我的意思是,在不知道具体的格式的前提下,只需要根据date的输出的第1,2,3,6个字符就可以得到。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式