電子書籍の厳選無料作品が豊富!

OS:RedHatLinuxES3.0
下記についてご存知お方がいらっしゃいましたら教えてください。

[file.log]と言うファイルがあります。
このファイルは、5MBになると、5MBに達した時の、年月日時分秒を付けたファイル名[file-YYYY_MM_DD-hh_mm_ss.log]になります。
また、このファイルは5世代管理とするので、[file.log]が一つ、残り4つは[file-YYYY_MM_DD-hh_mm_ss.log]となります。

そこで、質問ですが、この5つのファイルの中で一番古い更新日付を持つファイルのみを他のディレクトリにコピーしようと思っています。
つまり、[file-YYYY_MM_DD-hh_mm_ss.log]ファイル名の一番古い日付を持つファイルを選択したいのですが、いい方法がありましたら教えて下さい。

A 回答 (1件)

ls -1 -t | head -1


で一番古いファイルをピックアップするのでできそうな気はします。
たとえば
cp `ls -1 -t *.log | head -1` OLDlogs/
みたいな感じで。
    • good
    • 1
この回答へのお礼

お返事ありがとうございます。

結局、オプション[-r]をつけて、[ls -1 -t -r *.log | head -1]でうまくいっったみたいです。

私の環境では、[-r]をつけないと、更新日付が古い順にソートされなくて・・・。なぜかわかりませんが・・・。

助かりました。ありがとうございました。

お礼日時:2005/10/31 12:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!