0

過去 7 日間のファイルのリストがあります。このリストから、特定の日に複数のファイルがある場合は、KornShell (ksh) スクリプトを使用してその日の最新のものを取得する必要があります。

4

2 に答える 2

1

次のようなもの:

newest=""
for f in $filelist ; do
  if [ "$f" -nt "$newest" ] ; then
    newest="$f"
  fi
done
于 2009-08-14T05:00:48.417 に答える
0

次のスクリプトを使用できます。

ls -lt | egrep '^([^ ]+ +){5}Feb +3 +2009' | 頭 -n 1

ただし、solaris を使用している場合、/bin/egrep と /usr/bin/egrep は { } 文字をサポートしていません。その振る舞いは標準に準拠していないと思います。とにかく、Solaris では以下を使用できます。

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

また

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

ls と sed を使用することもできます。しかし、Solaris では、sed が拡張正規表現をサポートしているとは思えません。

もちろん、Feb +3 +2009 を希望の日付に置き換えます。スペースの後の「+」を忘れないでください。

于 2009-08-14T05:05:12.527 に答える