私はls -t
がすべてのファイルを修正された時間でリストすることを知っています。しかし、どうすればこれらの結果を最後のnファイルだけに制限できますか?
頭か尾を使ってみてください。最近変更された5つのファイルが必要な場合
ls -1t | head -5
-1(これは1つです)は1行に1つのファイルを言い、頭は最初の5つのエントリーを取ると言います。
最後の5回を試したい場合
ls -1t | tail -5
tail
コマンドを使用します。
ls -t | tail -n 5
受け入れられた答えはファイル名だけをリストします、しかしトップ5ファイルを得るために1つはまた使用できます:
ls -lht | head -6
ここで、
リスト形式での-l
の出力
-h
は、出力を人間が読めるようにします(すなわち、ファイルサイズはkb、mbなどで表示されます)。
-t
は最後に修正されたファイルを最初に置くことによって出力をソートします
ls
は出力の最初の行にブロックサイズを表示するため、head -6
は5つのファイルを表示します。
私はこれがもう少しエレガントでそしておそらくもっと役に立つアプローチであると思います。
出力例:
total 26960312 -rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py -rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf -rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf -rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf -rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
ls -t
は、作成日時順にリストされたファイルで、最終変更日時ではありません。最後から最後(上から下)に最後に変更された時間でファイルをリストしたい場合はls -ltc
を使用してください。したがって、最後のnをリストするには:ls -ltc | head ${n}