如何使用shell脚本读取文件内容

如何使用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

我想从每行中提取日期,如果少于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=`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