如何使用shell脚本读取文件内容
我想从每行中提取日期,如果少于60天,我必须在读取行时将其存储在变量中如何使用shell脚本读取文件内容,shell,Shell,我想从每行中提取日期,如果少于60天,我必须在读取行时将其存储在变量中;做 cat file.txt ( while read line do initial_time=`head -n 1 $line| sed -e 's/\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*/\1/'` initial_time_sec=`da
;做
cat file.txt
(
while read line
do
initial_time=`head -n 1 $line| sed -e 's/\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*/\1/'`
initial_time_sec=`date -d "$initial_time" +%s`
done
)
初始时间=`echo$line | sed-e's/*\([0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9]:[0-9][0-9]:[0-9][0-9]./\1/'`
初始时间秒=`date-d“$initial\u time”+%s`
now=`date+%s`
通过时间=`expr$now-$initial\u time\u sec`
限制时间=$((60*24*60))
如果[$pass_time-lt$limit_time]];然后
回音$线
fi
完成了如何在存档时比较小于60天的日期reading@user3165241请举例说明你的文件内容好吗?:)它是日志文件吗?2013-11-06 15:53:49 HB线程处于活动状态(1)2013-11-07 15:53:49 heartBeatCallback启动fireHeartBeat 2013-11-08 15:53:50刷新轮询时间结束2013-11-07 15:53:50 heartBeatCallback测试儿童PID 2013-11-07 15:53:50 heartBeatCallback结束2013-11-07 15:53:50 HB结束回调调用2014-01-05 16:03:51 HB线程活动(1)谢谢,我将实现并检查它。@user3165241但是您提供的示例有很多时间,您想要哪一个?
while read line ; do
initial_time=`echo $line | sed -e 's/.*\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*/\1/'`
initial_time_sec=`date -d "$initial_time" +%s`
now=`date +%s`
pass_time=`expr $now - $initial_time_sec`
limit_time=$((60 * 24 * 60))
if [[ $pass_time -lt $limit_time ]]; then
echo $line
fi
done <data