ГлавнаяОперационные системыLinuxТринадцать полезных инструментов для работы с текстом в командной строке

Тринадцать полезных инструментов для работы с текстом в командной строке

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

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

1. кот

Cat был разработан для объединения cat файлов, но чаще всего используется для отображения одного файла. Без каких-либо аргументов cat читает стандартный ввод до тех пор, пока не будет нажата Ctrl+ D(из терминала или из вывода другой программы, если используется

1. кот

тный ввод также можно явно указать с помощью -.

Cat имеет ряд полезных опций, в частности:

  • -Aпечатает «$» в конце каждой строки и отображает непечатаемые символы с использованием каретки.
  • -nнумерует все строки.
  • -b— это не пустые строки.
  • -sсокращает серию пустых строк до одной пустой строки.

В следующем примере мы объединяем и нумеруем содержимое файла1, стандартного ввода и файла3.

cat -n file1 - file3
Текстовые инструменты Linux Cat

2. сортировать

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

Сортировка текстовых инструментов Linux

3. уникальный

Uniq берет отсортированный файл и удаляет повторяющиеся строки. Часто он объединяется с sortв одной команде.

Текстовые инструменты Linux Uniq

4. сообщение

Comm используется для сравнения двух отсортированных файлов построчно. Он выводит три столбца: первые два столбца содержат строки, уникальные для первого и второго файла соответственно, а третий отображает строки, найденные в обоих файлах.

2. сортироватьt="Текстовые инструменты Linux">

5. вырезать

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

Вырезка по положению символа

Опция -cуказывает одну позицию символа или один или не

3. уникальный

волов.

Например:

  • -c 3: третий символ.
  • -c 3-5: с 3-го по 5-й символ.
  • -c -5или -c 1-5: с 1-го по 5-й символ.
  • -c 5-: от 5-го символа до конца строки.
  • -c 3,5-7: 3-й и с 5-го по 7-й символ.
4. сообщениеads/2024/05/linux-text-tools-cut-char.png" alt="Текстовые инструменты Linux Cut Char">

Разрезка по полю

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

Текстовые инструменты Linux Вырезать поле

6. дос2юникс

GNU/Linux и Unix обычно завершают текстовые строки переводом строки (LF), тогда

5. вырезать

ет возврат каретки и перевод строки (CRLF). Проблемы совместимости могут возникнуть при обработке текста CRLF в Linux, и здесь на помощь приходит dos2unix. Он преобразует терминаторы CRLF в LF.

В следующем примере команда fileиспользуется для проверки формата текста до и после использования dos2unix.

Текстовые инструменты Linux Dos2unix

7. сложить

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

По умолчанию сгиб строго соответствует указанной ширине, разбивая слова там, где это необходимо.

fold -w 30 longline.txt
Текстовые инструменты Linux

Если разрыв слов нежелателен, вы можете использовать опцию -sдля разрыва пробелов.

fold -w 30 -s longline.txt
Текстовые инструменты Linux

8. значокv

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

iconv -f input_encoding -t output_encoding -o output_file input_file
  • input_encoding — это кодировка, из которой вы конвертируете.
  • «output_encoding» — это кодировка, в которую вы конвертируете.
  • «output_file» — это имя файла, в котором i

    6. дос2юникс

  • «input_file» — это имя файла, из которого iconv будет читать.

Примечание. вы можете перечислить доступные кодировки с помощью iconv -l

9. прошло

sed — мощный и гибкий s tream ed итор, чаще всего используемый для поиска и замены строк со следующим синтаксисом.

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

sed s/pattern/replacement/g filename

Чтобы изменить исходный файл, вы можете использовать флаг -i.

7. сложить/uploads/2024/05/linux-text-tools-sed.png" alt="Текстовые инструменты Linux Sed">

10. туалет

Утилита wcвыводит количество байтов, символов, слов или строки в файле .

Текстовые инструменты Linux туалет

11. разделить

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

Разделение по количеству строк

split -l num_lines input_file output_prefix
Текстовые инструменты Linux Разделение линий

Разделение по байтам

split -b bytes input_file output_prefix
8. значокv-content/uploads/2024/05/linux-text-tools-split-bytes.png" alt="Текстовые инструменты Linux, разделенные байты">

Разделение на определенное количество файлов

split -n num_files input_file output_prefix
Число разделения текстовых инструментов Linux

12. так

Tac, который представляет собой кот в обратном порядке, делает именно это: отображает файлы со строками в обратном порядке.

Текстовые инструменты Linux Tac

13. тр

Инструмент tr используется для перевода или удаления наборов символов.

Набор символов обычно представляет собой строку или диапазон символов. Например:

  • А-Я: все буквы в верхне

    9. прошло

    li>«a-z0-9»: строчные буквы и цифры.
  • “\n[:punct:]”: символы новой строки и пунктуации

Подробнее см. в разделе страница руководства tr .

Чтобы преобразовать один набор в другой, используйте следующий синтаксис:

tr SET1 SET2

Например, чтобы заменить символы нижнего регистра их эквивалентами в верхнем регистре, вы можете использовать следующее:

tr "a-z" "A-Z"
Текстовые инструменты Linux Tr

Чтобы удалить набор символов, используйте флаг -d.

tr -d SET
Текстовые инструменты Linux Tr D

Чтобы удалить дополнение набора символов (т. е. все, кроме набора),

10. туалет

dc.

tr -dc SET
Текстовые инструменты Linux Tr Dc

Заключение

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

11. разделить

12. так

13. тр

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи