Вывести отсортированный по алфавиту список имен пользователей в файле пароля

Обновлено: 03.07.2024

Чтобы получить аутентифицированный доступ к файловому пространству AFS ячейки, пользователь должен иметь не только действительный токен AFS, но и запись в локальном файле паролей (/etc/passwd или аналогичный) клиентского компьютера AFS. В этом разделе обсуждается, почему важно, чтобы UID пользователя AFS совпадал с UID UNIX, указанным в локальном файле паролей, соответствующее значение для ввода пароля в файле и описывается метод создания единого исходного файла паролей.

Инструкции по использованию инструкции E в файле шаблона для автоматического создания записей локального файла паролей при создании учетной записи см. в разделе Создание общего исходного файла паролей.

Следующая информация также приводится в соответствующем разделе "Администрирование учетных записей пользователей", но повторяется здесь для вашего удобства.

Назначение совпадающих UID для AFS и UNIX

Проще всего администрировать и использовать учетную запись пользователя, если идентификатор пользователя AFS (AFS UID) совпадает с UID UNIX. Все инструкции в документации AFS предполагают, что это так.

Основная причина, по которой UID AFS и UNIX должны быть одинаковыми, заключается в том, что имя владельца, сообщаемое командами UNIX ls -l и ls -ld, имеет смысл для файлов и каталогов AFS. Следуя стандартной практике UNIX, файловый сервер записывает число, а не имя пользователя в поле владельца файла или каталога AFS: UID владельца AFS. Когда вы вводите команду ls -l, она преобразует UID в имя пользователя в соответствии с сопоставлением в локальном файле паролей, а не в базе данных защиты AFS. Если UID AFS и UNIX не совпадают, команда ls -l сообщает о неожиданном (и неверном) владельце. Выходные данные могут даже различаться на разных клиентских компьютерах, если их локальные файлы паролей сопоставляют один и тот же UID UNIX с разными именами.

Следуйте рекомендациям в указанных разделах, чтобы совместить UID AFS и UNIX при создании учетных записей для различных типов пользователей:

При создании учетной записи AFS для пользователя, у которого уже есть UID UNIX, см. раздел Преобразование существующих учетных записей UNIX с помощью uss.

Если у некоторых пользователей в вашей ячейке есть существующие учетные записи UNIX, а у пользователя, для которого вы создаете учетную запись AFS, их нет, то лучше разрешить серверу Protection Server автоматически выделять UID AFS. Чтобы избежать дублирования UID AFS с существующими UID UNIX, установите счетчик максимального идентификатора пользователя базы данных защиты выше, чем самый большой UID UNIX, следуя инструкциям в разделе Отображение и настройка счетчиков UID и GID AFS.

Если ни у кого из ваших пользователей нет существующих учетных записей UNIX, разрешите серверу Protection Server автоматически выделять UID AFS, начиная либо со значения по умолчанию, либо со значения, которое вы установили для счетчика максимального идентификатора пользователя.

Указание паролей в локальном файле паролей

Аутентификация с помощью AFS будет проще для ваших пользователей, если вы установите и настроите модифицированную AFS утилиту входа, которая регистрирует пользователя в локальной файловой системе и получает токен AFS за один шаг. В этом случае локальный файл паролей больше не контролирует возможность входа пользователя в систему в большинстве случаев, поскольку модифицированная AFS утилита входа в систему не обращается к локальному файлу паролей, если пользователь вводит правильный пароль AFS. Тем не менее, вы можете использовать поле пароля записи файла паролей (обычно второе поле) следующими способами для управления входом в систему и аутентификацией:

Чтобы запретить как локальный вход, так и аутентификацию AFS, поставьте в поле звездочку ( * ). Это полезно в основном в экстренных случаях, когда вы хотите запретить определенному пользователю вход в систему.

Чтобы предотвратить вход в локальную файловую систему, если пользователь не введет правильный пароль AFS, поместите в поле строку символов любой длины, отличной от стандартных тринадцати символов. Это подходит, если вы хотите разрешить вход на ваши машины только людям с локальными учетными записями AFS. Одиночный X или другой символ – это наиболее легко узнаваемый способ сделать это.

Чтобы пользователь мог войти в локальную файловую систему даже после ввода неправильного пароля AFS, запишите в поле стандартный зашифрованный пароль UNIX, выполнив стандартную команду установки пароля UNIX (passwd или аналогичную).

Если вы не используете модифицированную AFS утилиту входа в систему, вы должны поместить стандартный пароль UNIX в локальный файл паролей каждого клиентского компьютера, который будет использовать пользователь. Пользователь входит только в локальную файловую систему, а затем должен ввести команду klog для аутентификации в AFS. Проще всего, если пароли в локальном файле паролей и в базе данных аутентификации совпадают, но это не обязательно.

Создание общего исходного файла паролей

В этом разделе объясняется, как создать общую исходную версию локального файла паролей при использовании команд uss для создания учетных записей пользователей. Последовательность действий следующая:

Включите инструкцию E в файл шаблона, чтобы создать однострочный файл, имеющий формат записи локального файла паролей.

Включите однострочный файл в общую исходную версию локального файла паролей. Имеет смысл хранить этот файл в AFS. См. следующие два примера сценариев для автоматизации этого шага.

Для пользователя Joe L. Smith с именем smith эта инструкция создает файл с именем passwd_smith, который содержит следующую строку:

Сценарий оболочки, вероятно, является самым простым способом включения набора файлов, созданных таким образом, в общий исходный файл паролей, и здесь представлены два примера сценариев оболочки. Чтобы еще больше автоматизировать процесс, вы можете создать процесс cron в каталоге /usr/afs/local/BosConfig компьютера с файловым сервером для выполнения сценария оболочки, возможно, каждый день в заданное время; подробнее см. в разделе Создание и запуск нового процесса.

Следующие примеры сценариев являются только рекомендациями. Если вы решите использовать их или смоделировать на их основе аналогичные сценарии, вы должны проверить, дает ли ваш сценарий желаемый результат, предпочтительно в тестовой среде.

В этом лабораторном занятии мы сосредоточимся на перенаправлении или передаче информации из одного источника в другой с помощью определенных инструментов. Командная строка Linux перенаправляет информацию по определенным стандартным каналам. Стандартным вводом (stdin или канал 0) команды считается клавиатура, а стандартным выводом (stdout или канал 1) считается экран. Существует также еще один канал, предназначенный для перенаправления вывода ошибок (stderr или канал 2) команды или сообщений об ошибках программы. Ввод и/или вывод можно перенаправить.

При запуске команды иногда нам нужно передать ей определенную информацию или перенаправить вывод в определенный файл. Каждая из этих функций будет обсуждаться в следующих двух разделах.

Перенаправление ввода/вывода

Перенаправление ввода-вывода позволяет пользователю перенаправлять информацию из команды или в команду с помощью текстового файла. Как описано ранее, стандартный ввод, вывод и вывод ошибок могут быть перенаправлены, а информация может быть взята из текстовых файлов.

Перенаправление стандартного вывода

Чтобы перенаправить стандартный вывод в файл вместо экрана, нам нужно использовать оператор >, за которым следует имя файла. Если файл не существует, будет создан новый, в противном случае информация перезапишет существующий файл.

Чтобы увидеть содержимое только что созданного файла, мы можем использовать команду cat. По умолчанию эта команда отображает содержимое файла на экране. Обратитесь к странице руководства, чтобы узнать больше о его функциях.

Пример ниже демонстрирует функциональные возможности оператора. В первом случае создается новый файл, содержащий текст «Hello World!»:

При втором вызове тот же файл перезаписывается новым текстом:

Если мы хотим добавить новую информацию в конец файла, нам нужно использовать оператор >>. Этот оператор также создает новый файл, если не может найти существующий.

В первом примере показано добавление текста. Как видно, новый текст был добавлен в следующую строку:

Второй пример демонстрирует создание нового файла:

Стандартная ошибка перенаправления

Чтобы перенаправить только сообщения об ошибках, пользователю потребуется использовать оператор 2>, за которым следует имя файла, в который будут записаны ошибки. Если файл не существует, будет создан новый, в противном случае файл будет перезаписан.

Как объяснялось, канал для перенаправления стандартной ошибки — канал 2. При перенаправлении стандартной ошибки необходимо указать канал, в отличие от другого стандартного вывода, где по умолчанию задан канал 1. Например, следующая команда ищет файл или каталог с именем games и только записывает ошибку в текстовый файл ошибок, отображая стандартный вывод на экране:

Для получения дополнительной информации о команде find обратитесь к ее справочной странице.

Например, следующая команда будет выполнена без ошибок, поэтому в файл text-error не будет записана информация:

Помимо стандартного вывода, стандартная ошибка также может быть добавлена ​​к файлу с помощью оператора 2>>. Это добавит новую ошибку в конец файла. Если файл не существует, будет создан новый. В первом примере показано добавление новой информации в файл, тогда как во втором примере показано, что команда создает новый файл там, где не может быть найден существующий файл с таким же именем:

При использовании этого типа перенаправления в файл будут перенаправляться только сообщения об ошибках, а обычный вывод будет выводиться на экран или проходить через стандартный вывод или stdout.

Есть один конкретный файл, который технически представляет собой битовое ведро (файл, который принимает ввод и ничего с ним не делает): /dev/null .Вы можете перенаправить любую нерелевантную информацию, которую вы не хотите отображать, или перенаправить в важный файл, как показано в примере ниже:

Перенаправление стандартного ввода

Этот тип перенаправления используется для ввода данных в команду из указанного файла, а не с клавиатуры. В этом случае используется оператор, как показано в примере:

Перенаправление стандартного ввода обычно используется с командами, которые не принимают файловые аргументы. Команда tr — одна из них. Эту команду можно использовать для перевода содержимого файла путем изменения символов в файле определенным образом, например, для удаления любого конкретного символа из файла. В приведенном ниже примере показано удаление символа l :

Для получения дополнительной информации обратитесь к справочной странице tr .

Здесь документы

В отличие от перенаправления вывода, оператор действует иначе, чем другие операторы. Этот входной поток также называется здесь документ. Здесь документ представляет собой блок кода или текста, который можно перенаправить в команду или интерактивную программу. Различные типы языков сценариев, такие как bash , sh и csh, могут вводить данные непосредственно из командной строки без использования каких-либо текстовых файлов.

Как видно из приведенного ниже примера, оператор используется для ввода данных в команду, а слово после не указывает имя файла. Слово интерпретируется как разделитель ввода и не будет учитываться как контент, поэтому cat его не отобразит:

Для получения дополнительной информации см. справочную страницу команды cat.

Комбинации

Первая комбинация, которую мы рассмотрим, объединяет перенаправление стандартного вывода и стандартного вывода ошибок в один и тот же файл. Используются операторы &> и &>>, представляющие комбинацию канала 1 и канала 2. Первый оператор перезапишет существующее содержимое файла, а второй добавит или добавит новую информацию в конец файла. Оба оператора разрешат создание нового файла, если он не существует, как и в предыдущих разделах:

Давайте рассмотрим пример использования команды cut:

Команда cut вырезает указанные поля из входного файла с помощью параметра -f, в нашем случае это третье поле. Чтобы команда нашла поле, необходимо также указать разделитель с опцией -d. В нашем случае разделителем будет символ /.

Чтобы узнать больше о команде cut, обратитесь к ее справочной странице.

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

Перенаправление в основном используется для сохранения результата команды для обработки другой командой. Этот тип промежуточного процесса может стать очень утомительным и сложным, если вы хотите, чтобы данные проходили через несколько процессов. Чтобы избежать этого, вы можете связать команду напрямую через каналы. Другими словами, вывод первой команды автоматически становится вводом второй команды. Это соединение выполняется с помощью | (вертикальная черта) оператор:

В приведенном выше примере команда less после оператора канала изменяет способ отображения файла. Команда less отображает текстовый файл, позволяя пользователю одновременно прокручивать строку вверх и вниз. less также используется по умолчанию для отображения справочных страниц, как обсуждалось в предыдущих уроках.

Возможно одновременное использование нескольких каналов. Промежуточные команды, которые получают ввод, затем изменяют его и производят вывод, называются фильтрами. Давайте возьмем команду ls -l и попробуем подсчитать количество слов в первых 10 строках вывода. Для этого нам придется использовать команду head, которая по умолчанию отображает первые 10 строк файла, а затем подсчитывать слова с помощью команды wc:

Как упоминалось ранее, по умолчанию head отображает только первые 10 строк указанного текстового файла. Это поведение можно изменить с помощью определенных параметров. Проверьте справочную страницу команды, чтобы найти больше.

Есть еще одна команда, отображающая конец файла: tail . По умолчанию эта команда выбирает последние 10 строк и отображает их, но число в начале также можно изменить. Проверьте справочную страницу tail для более подробной информации.

Опция -f может отображать последние строки файла во время его обновления. Эта функция может оказаться очень полезной при отслеживании текущей активности файла, такого как системный журнал.

Упражнения с пошаговыми инструкциями

Выведите список содержимого вашего текущего каталога, включая владельца и разрешения, и перенаправьте вывод в файл с именемcontents.txt в вашем домашнем каталоге.

Отсортируйте содержимое файлаcontents.txt из текущего каталога и добавьте его в конец нового файла с именемcontents-sorted.txt.

Показать последние 10 строк файла /etc/passwd и перенаправить его в новый файл в папке Documents вашего пользователя.

Подсчитайте количество слов в файлеcontents.txt и добавьте вывод в конец файла field2.txt в вашем домашнем каталоге. Вам нужно будет использовать перенаправление как ввода, так и вывода.

Отобразите первые 5 строк файла /etc/passwd и отсортируйте выходные данные в обратном порядке по алфавиту.

Используя ранее созданный файл contents.txt, подсчитайте количество символов в последних 9 строках.

Подсчитайте количество файлов с именем test в каталоге /usr/share и его подкаталогах. Примечание. Каждая строка, выводимая командой find, представляет собой файл.

Исследовательские упражнения

Выберите второе поле файла contents.txt и перенаправьте стандартный вывод и вывод ошибок в другой файл с именем field1.txt .

Используя оператор перенаправления ввода и команду tr, удалите дефисы (-) из файла содержимого.txt.

Какое самое большое преимущество перенаправления ошибок только в файл?

Замените все повторяющиеся пробелы в отсортированном по алфавиту файлеcontents.txt одним пробелом.

В одной командной строке удалите повторяющиеся пробелы (как это было сделано в предыдущем упражнении), выберите девятое поле и отсортируйте его в обратном порядке по алфавиту и без учета регистра. Сколько труб вам пришлось использовать?

Обзор

В этом лабораторном занятии вы узнали:

Типы перенаправления

Как использовать операторы перенаправления

Как использовать конвейеры для фильтрации вывода команды

Команды, используемые в этом уроке:

Удаляет разделы из каждой строки файла.

Отображает или объединяет файлы.

Поиск файлов в иерархии каталогов.

Отображает файл, позволяя пользователю прокручивать по одной строке за раз.

Отображает файл, страницу одновременно.

Отображает первые 10 строк файла.

Отображает последние 10 строк файла.

По умолчанию подсчитывает строки, слова или байты файла.

Ответы на пошаговые упражнения

Выведите список содержимого вашего текущего каталога, включая владельца и разрешения, и перенаправьте вывод в файл с именемcontents.txt в вашем домашнем каталоге.

Отсортируйте содержимое файлаcontents.txt из текущего каталога и добавьте его в конец нового файла с именемcontents-sorted.txt.

Показать последние 10 строк файла /etc/passwd и перенаправить его в новый файл в папке Documents вашего пользователя.

Подсчитайте количество слов в файлеcontents.txt и добавьте вывод в конец файла field2.txt в вашем домашнем каталоге. Вам нужно будет использовать перенаправление как ввода, так и вывода.

Отобразите первые 5 строк файла /etc/passwd и отсортируйте выходные данные в обратном порядке по алфавиту.

Используя ранее созданный файл contents.txt, подсчитайте количество символов в последних 9 строках.

Подсчитайте количество файлов с именем test в каталоге /usr/share и его подкаталогах. Примечание. Каждая строка, выводимая командой find, представляет собой файл.

Ответы на исследовательские упражнения

Выберите второе поле файла contents.txt и перенаправьте стандартный вывод и вывод ошибок в другой файл с именем field1.txt .

Используя операнд перенаправления ввода и команду tr, удалите тире (-) из файлаcontents.txt.

Какое самое большое преимущество перенаправления ошибок только в файл?

Только перенаправление ошибок в файл может помочь сохранить файл журнала, который часто отслеживается.

Замените все повторяющиеся пробелы в отсортированном по алфавиту файлеcontents.txt одним пробелом.

В одной командной строке удалите повторяющиеся пробелы (как это было сделано в предыдущем упражнении), выберите девятое поле и отсортируйте его в обратном порядке по алфавиту и без учета регистра. Сколько труб вам пришлось использовать?

В упражнении используются 3 канала, по одному на каждый фильтр.

Следующий урок

3.2 Поиск и извлечение данных из файлов (3.2 Урок 2)

LPI – некоммерческая организация.

© 2022 Linux Professional Institute (LPI) — это глобальный стандарт сертификации и организация поддержки карьеры для профессионалов с открытым исходным кодом. Имея более 200 000 сертификатов, это первый и крупнейший в мире орган по сертификации Linux и открытого исходного кода, не зависящий от поставщика. LPI имеет сертифицированных специалистов более чем в 180 странах, проводит экзамены на нескольких языках и имеет сотни партнеров по обучению.

Наша цель — предоставить экономические и творческие возможности для всех, сделав общедоступной сертификацию знаний и навыков с открытым исходным кодом.

Обнаружили ошибку или хотите помочь улучшить эту страницу? Пожалуйста, дайте нам знать.

Sort — это программа для Linux, используемая для печати строк входных текстовых файлов и объединения всех файлов в отсортированном порядке. Команда сортировки использует пробел в качестве разделителя полей и весь входной файл в качестве ключа сортировки. Важно отметить, что команда sort на самом деле не сортирует файлы, а только печатает отсортированный вывод, пока вы не перенаправите вывод.

Эта статья направлена ​​на глубокое понимание команды сортировки Linux с помощью 14 полезных практических примеров, которые покажут вам, как использовать команду сортировки в Linux.

<р>1. Сначала мы создадим текстовый файл (tecmint.txt) для выполнения примеров команды «сортировка». Наш рабочий каталог — ‘/home/$USER/Desktop/tecmint.

Опция «-e» в приведенной ниже команде включает интерпретацию обратной косой черты, а /n указывает эхо-команде echo записывать каждую строку в новую строку.

<р>2. Прежде чем мы начнем с «сортировки», давайте посмотрим на содержимое файла и на то, как он выглядит.

<р>3. Теперь отсортируйте содержимое файла с помощью следующей команды.

Примечание. Приведенная выше команда на самом деле не сортирует содержимое текстового файла, а только отображает отсортированный вывод на терминале.

<р>4. Отсортируйте содержимое файла «tecmint.txt» и запишите его в файл с именем (sorted.txt) и проверьте содержимое с помощью команды cat.

<р>5. Теперь отсортируйте содержимое текстового файла «tecmint.txt» в обратном порядке с помощью переключателя «-r» и перенаправьте вывод в файл «reversesorted.txt». Также проверьте список содержимого только что созданного файла.

<р>6. Мы создадим новый файл (lsl.txt) в том же месте для подробных примеров и заполним его, используя вывод ‘ls -l‘ для вашего домашнего каталога.

Теперь будут показаны примеры сортировки содержимого на основе другого поля, а не начальных символов по умолчанию.

<р>7. Отсортируйте содержимое файла ‘lsl.txt’ на основе 2-го столбца (который представляет количество символических ссылок).

Примечание. Параметр «-n» в приведенном выше примере сортирует содержимое в числовом виде. Опция ‘-n’ должна использоваться, когда мы хотим отсортировать файл на основе столбца, содержащего числовые значения.

<р>8. Отсортируйте содержимое файла «lsl.txt» на основе 9-го столбца (который является именем файлов и папок и не является числовым).

<р>9. Не всегда необходимо запускать команду сортировки для файла. Мы можем передать это прямо на терминал с помощью фактической команды.

<р>10. Отсортируйте и удалите дубликаты из текстового файла tecmint.txt. Проверьте, был ли удален дубликат.

Правила на данный момент (что мы наблюдали):

  1. Строки, начинающиеся с цифр, являются предпочтительными в списке и находятся вверху, пока не указано иное (-r).
  2. Строки, начинающиеся со строчных букв, являются предпочтительными в списке и находятся вверху, пока не указано иное (-r).
  3. Содержание перечисляется на основе появления алфавитов в словаре, пока не указано иное (-r).
  4. Команда Sort по умолчанию обрабатывает каждую строку как строку, а затем сортирует ее в зависимости от вхождения алфавитов в словарь (предпочтительно числовой; см. правило – 1), пока не указано иное.
<р>11. Создайте третий файл «lsla.txt» в текущем местоположении и заполните его выходными данными команды «ls -lA».

Те, кто разбирается в команде ‘ls’, знают, что ‘ls -lA’=’ls -l’ + скрытые файлы. Таким образом, большая часть содержимого этих двух файлов будет одинаковой.

<р>12. Сортировать содержимое двух файлов в стандартном выводе за один раз.

Обратите внимание на повторение файлов и папок.

<р>13. Теперь мы можем увидеть, как сортировать, объединять и удалять дубликаты из этих двух файлов.

Обратите внимание, что дубликаты были исключены из выходных данных. Кроме того, вы можете записать вывод в новый файл, перенаправив вывод в файл.

14. Мы также можем сортировать содержимое файла или вывод на основе более чем одного столбца. Отсортируйте вывод команды ‘ls -l’ на основе полей 2,5 (числовое) и 9 (нечисловое).

На этом пока все. В следующей статье мы подробно рассмотрим еще несколько примеров команды «сортировка». А пока следите за обновлениями и подключайтесь к Tecmint. Продолжайте делиться. Продолжайте комментировать. Ставьте лайки, делитесь нами и помогайте нам распространяться.

Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Поддержите нас

Мы благодарны за вашу бесконечную поддержку.

Похожие записи

 Отключить Su Access для пользователя

 Переместить домашний каталог в новый раздел

Система Linux Команды администратора

 Как скачать файлы в Linux

Примеры Linux Cron

Linux Vmstat и команды Iostat

7 мыслей о «14 полезных примерах команды sort в Linux — часть 1»

<р>2. Почему при выполнении чего-то вроде « sort -nk5,5 table.txt » команда sort удаляет записи с 0? (файлы с размером 0 должны быть отсортированы, а не удалены)

Ссылка на 7 интересных команд сортировки не работает должным образом. Он загружает эту статью

Примеров команды «сортировка» всего 10. Остальные четыре записи просто создают файлы для ввода в примеры команды «сортировка».

Привет!
Просто интересно, почему вы вводите «/home/$USER/», а не просто «$HOME/». Ненужный набор текста. Просто говорю. :) Или я что-то упустил?

В последней команде:

$ ls -l /home/$USER | сортировать -t "," -nk2,5 -k9

Зачем вы ставите параметр -t ? Я не понимаю…

У меня есть копия списка слов/словаря размером 4,09 ГБ, crackstation.txt. Только что слова и числа расположены в обычном порядке: 0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStT uUvVwWxXyYzZ

Как изменить порядок на что-то вроде:

(Эта последовательность показывает первые буквы английских слов в порядке популярности, от наиболее популярных (слева) до наименее популярных (справа))

«14 полезных примеров…»

Нет, это 14 пронумерованных записей, но некоторые из них просто дублируют функции сортировки с использованием файлов и стандартного ввода.

Здравствуйте, какую программу вы используете для создания gif, как показано выше?

Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.

Учебник по использованию sort, команды UNIX и Linux для сортировки строк текстовых файлов. Примеры сортировки по алфавиту, сортировки в обратном порядке, сортировки по номеру и сортировки по смешанному регистру.

Приблизительное время чтения: 5 минут

Оглавление

Терминал с справочной страницей сортировки

Что такое команда сортировки?

Команда sort — это утилита командной строки для сортировки строк текстовых файлов. Он поддерживает сортировку по алфавиту, в обратном порядке, по номеру, по месяцу, а также может удалять дубликаты. Команда sort также может сортировать по элементам, не находящимся в начале строки, игнорировать регистр символов и возвращать информацию о том, отсортирован файл или нет.

Как отсортировать по алфавиту

Инструмент сортировки по умолчанию сортирует строки в алфавитном порядке. Запуск сортировки имя файла записывает содержимое имени файла в алфавитном порядке в стандартный вывод.

Предположим, существует файл со следующим списком металлических групп, которые необходимо отсортировать в алфавитном порядке. Файл сохраняется как bands.txt .

Команда sort позволяет отсортировать файл по алфавиту.

Как сортировать в обратном порядке

Чтобы отсортировать в обратном порядке, передайте параметр -r для сортировки. Это отсортирует в обратном порядке и запишет результат в стандартный вывод.

Используя тот же список металлических полос из предыдущего примера, этот файл можно отсортировать в обратном порядке с помощью параметра -r.

Как сортировать по номеру

Чтобы отсортировать по номеру, передайте параметр -n для сортировки. Это отсортирует от наименьшего числа к наибольшему и запишет результат в стандартный вывод.

Предположим, существует файл со списком предметов одежды, в котором в начале строки есть номер, и его нужно отсортировать по номерам. Файл сохраняется как одежда.txt .

При передаче sort с параметром -n файл упорядочивается в числовом порядке.

Как сортировать текст в смешанном регистре

Чтобы отсортировать текст в смешанном регистре, передайте параметр -f для сортировки . Это позволит игнорировать регистр символов при сортировке и записать результат в стандартный вывод.

Если в файле есть содержимое в верхнем и нижнем регистре, сортировка сначала будет выполняться в верхнем регистре. Предположим, что существует файл со списком имен в файле с именем names.txt .

По умолчанию инструмент сортировки сначала сортирует символы верхнего регистра.

Для сортировки и игнорирования регистра используйте параметр -f.

Как проверить, отсортирован ли файл

Чтобы проверить, отсортирован ли уже файл, передайте параметр -c для сортировки. Это запишет в стандартный вывод, если есть строки, которые не по порядку.

Предположим, существует файл cars.txt со списком автомобилей.

Инструмент сортировки можно использовать, чтобы понять, отсортирован ли этот файл и какие строки не в порядке.

Если вывода нет, то файл считается уже отсортированным.

Как сортировать и удалять дубликаты

Чтобы отсортировать и удалить дубликаты, передайте параметр -u для сортировки. Это запишет отсортированный список в стандартный вывод и удалит дубликаты.

Предположим, существует файл со списком готовых завтраков для сортировки. Этот файл содержит несколько дубликатов. Это сохраняется в файле breakfast.txt .

Используя параметр -u, этот файл можно отсортировать и удалить дубликаты.

Как сортировать по месяцам

Для сортировки по месяцам укажите параметр -M для сортировки. Это запишет отсортированный список в стандартный вывод, упорядоченный по названию месяца.

Предположим, что следующий файл существует и сохранен как month.txt .

Использование параметра -M с сортировкой позволяет упорядочить этот файл.

Как сортировать по элементам не в начале строки

Для сортировки по элементам, не находящимся в начале строки, передайте параметр -k для сортировки вместе с числом значений поля для сортировки. Результат будет записан в стандартный вывод.

Предположим, что существует файл со списком заказов, сохраненный как orders.txt .

Файл необходимо отсортировать по названию компании, разместившей их. Этого можно добиться, используя параметр -k и передав ему номер ключа.

Как отсортировать CSV-файл

Чтобы отсортировать по разделителю, передайте параметр -t для сортировки вместе со значением разделителя. Для файла CSV это будет , . Это можно комбинировать с параметром -k для сортировки по полям в CSV. Результат будет записан в стандартный вывод.

Предположим, существует файл со списком сыров, сохраненный как cheese.csv .

Файл можно отсортировать по названию сыра с помощью комбинации параметров -k и -t.

Для сортировки самого дорогого сыра можно использовать цифровые и обратные параметры.

Дополнительная литература

У вас есть новости или предложения по этой статье? Вы можете отредактировать его здесь и отправить мне запрос на вытягивание.

Последние публикации

Об авторе

Джордж Орнбо живет в Великобритании.

Он увлекается людьми, музыкой, едой и писательством. В предыдущей версии себя он писал книги по технологиям.

Читайте также: