Как отсортировать ls по столбцу в Ubuntu через передачу по каналу к виду?

Я - новичок Linux, пытающийся учиться как, передавая работы по каналу в терминале Ubuntu. Я пытался отсортировать по размеру файла:

ls -al | sort -k5

Файлы были перечислены в этом порядке:

drwx------ 19 min10 domain users      0 2010-10-07 12:38 .
drwx------ 29 min10 domain users      0 2010-02-16 22:30 MSI
drwx------  2 min10 domain users      0 2009-11-25 19:53 www
drwx------  2 min10 domain users      0 2010-02-05 09:14 .cache
drwx------  2 min10 domain users      0 2010-03-02 08:11 My Pictures
drwx------  2 min10 domain users      0 2010-03-02 10:41 regu
drwx------  2 min10 domain users      0 2010-03-31 13:08 elec
drwx------  2 min10 domain users      0 2010-04-10 21:43 temp
drwx------  2 min10 domain users      0 2010-10-06 09:13 bubbla
drwx------  3 min10 domain users      0 2010-01-26 08:26 cfg
drwx------  3 min10 domain users      0 2010-03-30 15:34 data
drwx------  3 min10 domain users      0 2010-03-30 16:03 idv
drwx------  3 min10 domain users      0 2010-04-01 09:10 arduino-0018
drwx------  3 min10 domain users      0 2010-04-14 15:10 processing-1.1
drwx------  3 min10 domain users      0 2010-07-06 16:20 eclipse
drwx------  4 min10 domain users      0 2010-04-15 09:34 pryl
drwx------  4 min10 domain users      0 2010-07-06 16:30 dv2
-rwx------  1 min10 domain users    123 2010-10-07 12:38 starwars.txt
-rwx------  1 min10 domain users  16109 2010-10-06 07:01 .bash_history
-rwx------  1 min10 domain users 454656 2010-03-30 15:29 putty.exe
-rwx------  1 min10 domain users    504 2010-04-10 21:16 little.gif
-rwx------  1 min10 domain users  56682 2010-04-10 21:12 awesome.jpg
-rwx------  1 min10 domain users      7 2010-04-10 21:32 blah.txt

Это - очевидно, сбой с точки зрения сортировки по размеру файла. Я попробовал набором других столбцов в дополнение к -k5, и неоднократно запутывайтесь, не в порядке, результаты. Я также попробовал -nk5, и тем не менее никакие не идут. Что я делаю неправильно?

6
задан 18.08.2011, 08:40

2 ответа

Вывод, который Вы показываете, отсортирован в алфавитном порядке вместо численно. Попытайтесь добавить:

-n, --numeric-sort сравните согласно строковому численному значению

Править: Я просто заметил, что в Вашем выводе столбец размера файла, кажется, 6-й! Вы попробовали -nk6?

Протестированный на моем Hardy Heron, они работают:

  • ls -al | sort -nk5
  • ls -al | sort -k5n
  • ls -al | sort -k5 -n
  • ls -al | sort -k5 --numeric-sort

sort --version урожаи: 6.10

8
ответ дан 07.12.2019, 15:40

К виду размером пробуют 'ls-S' или 'ls - RS.

4
ответ дан 07.12.2019, 15:40

Теги

Похожие вопросы