sort linux

[host01]# cat find_list.txt
b1234567.20190310
b1234567.20190310.A
a1234567.20190311
a1234567.20190311.A
c1234567.20190314
c1234567.20190314.A
d1234567.20190313
d1234567.20190313.A

1項目でソート

[host01]# cat find_list.txt | sort -k1
a1234567.20190311
a1234567.20190311.A
b1234567.20190310
b1234567.20190310.A
c1234567.20190314
c1234567.20190314.A
d1234567.20190313
d1234567.20190313.A

1項目の10文字以降でソート

[host01]# cat find_list.txt | sort -k1.10
b1234567.20190310
b1234567.20190310.A
a1234567.20190311
a1234567.20190311.A
d1234567.20190313
d1234567.20190313.A
c1234567.20190314
c1234567.20190314.A

1項目の10文字以降で逆順でソート

[host01]# cat find_list.txt | sort -k1.10 -r
c1234567.20190314.A
c1234567.20190314
d1234567.20190313.A
d1234567.20190313
a1234567.20190311.A
a1234567.20190311
b1234567.20190310.A
b1234567.20190310

ls -lサイズでソート

# ls -lh
-rw-r--r-- 1 Administrator1 211K 12  7 08:01 test1.txt
-rw-r--r-- 1 Administrator1 100K 12  7 08:02 test2.txt
-rw-r--r-- 1 Administrator1 320K 12  7 08:02 test3.txt
# ls -lh | sort -k4n
-rw-r--r-- 1 Administrator1 100K 12  7 08:02 test2.txt
-rw-r--r-- 1 Administrator1 211K 12  7 08:01 test1.txt
-rw-r--r-- 1 Administrator1 320K 12  7 08:02 test3.txt

ファイルリストの一覧をサイズでソート

# cat file.list
test1.txt
test2.txt
test3.txt
# for f in `cat file.list`; do ls -l $f; done | sort -k4n
-rw-r--r-- 1 Administrator1 100840 12  7 08:02 test2.txt
-rw-r--r-- 1 Administrator1 211532 12  7 08:01 test1.txt
-rw-r--r-- 1 Administrator1 320221 12  7 08:02 test3.txt
-l: 詳細, -h: 人が読めるフォーマット, -S: ソート (降順), -r: 逆順

コメント

人気の投稿