KornShell脚本获取给定日期的最新文件

时间:2009-08-14 04:25:50

标签: file shell unix ksh

我有过去7天的文件列表。从这个列表中,如果某一天有多个文件,我需要使用KornShell(ksh)脚本获取当天的最新文件。

2 个答案:

答案 0 :(得分:1)

有些事情:

newest=""
for f in $filelist ; do
  if [ "$f" -nt "$newest" ] ; then
    newest="$f"
  fi
done

答案 1 :(得分:0)

您可以使用以下脚本:

ls -lt | egrep'^([^] + +){5} 2月+3 + 2009'|头-n 1

但如果您使用的是solaris,/ bin / egrep和/ usr / bin / egrep不支持{}字符。我猜这种行为不符合标准。无论如何,在Solaris中,您可以使用:

ls -lt | / usr / xpg4 / bin / egrep'^([^] + +){5} 2月+3 + 2009'|头-n 1 |头-n 1

ls -lt | tr -s''| egrep'^ [^] + [^] + [^] + [^] + [^] + 2009年2月3日'|头-n 1

您也可以使用ls和sed。但是在Solaris中,我认为sed不支持扩展的regexp。

当然,将Feb +3 +2009替换为您想要的日期。不要忘记空格后的'+'。