lsコマンドを使用してファイルサイズ順に降順・昇順で表示する方法を以下に記します。
本資料はUbuntuを使用して動作確認を行いました。
以下のように動作確認のため、3つのファイルを作成しました。
1バイト,2バイト,3バイトのファイルです。
sakura@ubuntu:~$ mkdir wk sakura@ubuntu:~$ cd wk sakura@ubuntu:~/wk$ echo -n 1 > 1.txt sakura@ubuntu:~/wk$ echo -n 12 > 2.txt sakura@ubuntu:~/wk$ echo -n 123 > 3.txt sakura@ubuntu:~/wk$ ls -l 合計 12 -rw-rw-r-- 1 sakura sakura 1 1月 27 01:01 1.txt -rw-rw-r-- 1 sakura sakura 2 1月 27 01:01 2.txt -rw-rw-r-- 1 sakura sakura 3 1月 27 01:01 3.txt
lsの-S, -lSオプションで表示したときの出力結果です。
オプション-Sと-lSの2種類の実行結果を以下に記します。
ファイルサイズの大きいものから表示されているのが確認できます。
sakura@ubuntu:~/wk$ ls -S 3.txt 2.txt 1.txt
sakura@ubuntu:~/wk$ ls -lS 合計 12 -rw-rw-r-- 1 sakura sakura 3 1月 27 01:01 3.txt -rw-rw-r-- 1 sakura sakura 2 1月 27 01:01 2.txt -rw-rw-r-- 1 sakura sakura 1 1月 27 01:01 1.txt
オプション-rを使用し逆に表示するようにします。
上記とは逆の並びで表示されているのが確認できます。
sakura@ubuntu:~/wk$ ls -Sr 1.txt 2.txt 3.txt
sakura@ubuntu:~/wk$ ls -lSr 合計 12 -rw-rw-r-- 1 sakura sakura 1 1月 27 01:01 1.txt -rw-rw-r-- 1 sakura sakura 2 1月 27 01:01 2.txt -rw-rw-r-- 1 sakura sakura 3 1月 27 01:01 3.txt
以上、lsコマンドを使ったファイルサイズによるソート方法でした。
尚、商用UNIXでは、-Sオプションが無い場合があります。
その場合は、sortコマンドのフィールド指定などを組み合わせて並べ替えれば実現できます。