Команды сортировки

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Команды сортировки

Сообщение algri14 »

Тема создана по мотивам «зависает при загрузке дебиан 11» стр№2
algri14 писал:
10.04.2023 12:18
du -ahx / | sort -hr | less | cat -n
В данном случае команда даётся от root
как справедливо и правильно сказал Bizdelnick:
Bizdelnick писал:
10.04.2023 13:21
Не надо добавлять cat в конец! В конце специально стоит less, иначе самое интересное начало списка уедет за пределы экрана.
меняем местами:
# du -ahx / | sort -hr | cat -n | less
и самое "интересное", в данном случае самые большие файлы, будет вверху списка
если перед слэшью поставить тильду " ~ ", то каманду можно давать от юзера и покажет она данные из его Домашней папки
$ du -ahx ~/ | sort -hr | cat -n | less

зы: так как я не профи (это не моя профессия, просто любитель), то подобные темы интересны мне различными полезными командами, которые с практическими примерами добавляют большего понимания разнообразных утилит.
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 929
ОС: BSD/LINUX
Контактная информация:

Re: Команды сортировки

Сообщение bars »

А для чего самый первый столбец в списке в вашей команде?
Может лучше так?

Код: Выделить всё

$ du -ahx ~/ | sort -k1,1 -r -h | head -n 30
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: Команды сортировки

Сообщение algri14 »

bars писал:
11.04.2023 15:28
$ du -ahx ~/ | sort -k1,1 -r -h | head -n 30
head выводит начальные строки (по умолчанию 10), здесь первые 30
поясните подробнее " sort -k1,1 -r -h ", заодно и Вашу же
$ du -ah . | uniq -c | sort -k2,2 -r -h | head -n 30
не все опции понимаю
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 929
ОС: BSD/LINUX
Контактная информация:

Re: Команды сортировки

Сообщение bars »

algri14 писал:
11.04.2023 15:44
-k1,1
сортировка по 1му столбцу.
-k - указать поле по которому нужно сортировать строки.
-r - сортировать в обратном порядке.
-h, –human-numeric-sort сравнивать численные значения с учетом сокращения степени (2K, 1G).

Для чего вам uniq -c (число повторов строки)?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: Команды сортировки

Сообщение algri14 »

bars писал:
11.04.2023 16:11
Для чего вам uniq -c (число повторов строки)?
так ведь ведь это Ваша команда, сами предложили => зависает при загрузке дебиан 11
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 929
ОС: BSD/LINUX
Контактная информация:

Re: Команды сортировки

Сообщение bars »

algri14 писал:
11.04.2023 19:03
так ведь ведь это Ваша команда, сами предложили
не досмотрел при копировании из скрипта своего команды.
uniq -c не нужен, смысла в нем нет в этом случае.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: Команды сортировки

Сообщение algri14 »

Bizdelnick писал:
10.04.2023 11:55
Найти самые большие файлы можно так: du -ahx / | sort -hr | less (может работать долго, дождитесь завершения).
здесь присутствует команда " less " :
« она позволяет перематывать текст не только вперёд, но и назад, осуществлять поиск в обоих направлениях, переходить сразу в конец или в начало файла.
Командная строка исчезнет, а в окне терминала откроется указанный вами документ. После этого его можно читать, пользуясь для прокручивания строк вперед и назад клавишами Enter или " y ", либо другими.

Внизу окна вы увидите поле с мигающим курсором — здесь можно напечатать какую-либо внутреннюю команду, например, задать утилите паттерн поиска.
Особенность less заключается в том, что команда не считывает текст полностью, а загружает его небольшими фрагментами.»
Подробнее: «Команда less в Linux» (или подобное)

Если вам требуется чтобы командная строка никуда "не исчезала", воспользуйтесь командой " head ",
с указанием вывода первых строк head -n 30, по умолчанию без указания только 10

# du -ahx / | sort -hr | head -n 30
или пронумеровав с помощью " cat -n "
# du -ahx / | sort -hr | head -n 30 | cat -n
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2377
ОС: gentoo fluxbox

Re: Команды сортировки

Сообщение yoricI »

Можно же ничего после sort не писать, всё на экран вылетит. Понятно что много.
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 901
ОС: debian, fedora (i3-wm)

Re: Команды сортировки

Сообщение olecya »

yoricI
Изначально имелось ввиду что это виртуальная консоль и прочесть можно будет только конец большого списка.
Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: Команды сортировки

Сообщение algri14 »

yoricI писал:
12.04.2023 14:52
Можно же ничего после sort не писать, всё на экран вылетит. Понятно что много.
yoricI, эту тему я создал себе как подсказку и таким же как я дилетантам-новичкам, вот и собираю варианты.
По умолчанию, в дистрибутивах, консоль настроена на вывод 1000 строк, я по первоначалу не знал этого (не вдавался в настройки) и сильно удивлялся куда делось начало и как посмотреть весь вывод.
Конечно можно после " sort " ничего не ставить и вывести в файл, для простоты, чтобы менее всего набирать символов:
$ du -ahx . | sort -hr > file.txt или $ du -ahx . | sort -hr > ~/file.txt команды равнозначные, если даются из Домашнего каталого юзера, обычно консоль bash так и настроена:
[имя_юзера@localhost ~]$

отправит файл в Домашнюю папку юзера /home/имя_юзера/file.txt или по другому ~/file.txt (что одно и тоже)
в моём случае в выводе 126 600 строк, самые большие в первом десятке, для их просмотра и ставится " head "
Спасибо сказали:
Ответить