- 締切済み
lsにて別ディレクトリの情報を一括表示し、日付でソートするには?
別ディレクトリで管理しているファイルを一括表示し、さらにタイムスタンプでソート するには、どのようにしたらよいでしょうか? 例 /temp配下にAとBディレクトリあるとします。 $ ls --full-time /temp/* /temp/A: total 0 drwxr-x--- 6 root root 4096 Wed Aug 04 16:58:01 2006 BOJTS drwxr-x--- 6 root root 4096 Wed Aug 04 16:57:28 2006 BOJTX /temp/B: total 0 drwxr-x--- 6 root root 4096 Wed Aug 09 16:59:03 2006 JTOTX drwxr-x--- 6 root root 4096 Wed Aug 08 16:58:39 2006 JTOTS drwxr-x--- 6 root root 4096 Wed Aug 01 16:55:25 2006 JTENX drwxr-x--- 6 root root 4096 Wed Aug 01 16:55:06 2006 JTTRX となっているものを以下のように一度のlsコマンドで日付順に並べ替えるには、 どうしたらよいでしょうか。 drwxr-x--- 6 root root 4096 Wed Aug 09 16:59:03 2006 JTOTX drwxr-x--- 6 root root 4096 Wed Aug 08 16:58:39 2006 JTOTS drwxr-x--- 6 root root 4096 Wed Aug 04 16:58:01 2006 BOJTS drwxr-x--- 6 root root 4096 Wed Aug 04 16:57:28 2006 BOJTX drwxr-x--- 6 root root 4096 Wed Aug 01 16:55:25 2006 JTENX drwxr-x--- 6 root root 4096 Wed Aug 01 16:55:06 2006 JTTRX
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- a-saitoh
- ベストアンサー率30% (524/1722)
Ano.2で提案された方式ですが,異なる月の日付が付いたファイルが混在しているとダメですよね. たとえばJulとAugが混在していた場合を考えてみてください. たまたま身近にあるdebianlinuxで ls --fuill-timeを試してみると, 2006-04-21 17:24:30.000000000 +0900 といった時刻表示になります.これならうまくsortできますね.
- amru05
- ベストアンサー率63% (33/52)
sort の -k オプションと一緒に使えばよいでしょう。 例)$ ls --full-time /temp/* | sort -k 7,10 -k の後ろに、ソートしたいカラムの開始、終了位置を指定できますので、例では、7=Augなどの月から、10=2006などの年までの範囲を指定すればよいと思います(カラムの7,10は、実際に調整してみてください)
- a-saitoh
- ベストアンサー率30% (524/1722)
lsだけでは、できません。 ただ、ファイル数が少なければ、 ls -ltr /temp/A/* /tmp/B/* で、古い順に並んで出てきます。