Учебное пособие по команде Fold с примерами для начинающих
Вы когда-нибудь оказывались в ситуации, когда вам нужно свернуть или разбить вывод команды, чтобы он соответствовал определенной ширине? Я несколько раз попадал в такую ситуацию при запуске виртуальных машин, особенно серверов без графического интерфейса. На всякий случай, если вы когда-нибудь захотите ограничить вывод команды определенной шириной, не ищите никуда! Просто используйте команду fold! Командаfold оборачивает каждую строку во входном файле так, чтобы она соответствовала указанной ширине, и выводит ее на стандартный вывод.
В этом кратком уроке мы рассмотрим использование команды сгиба на практических примерах.
Учебное пособие по команде Fold с примерами
Команда Fold является частью пакета GNU coreutils, поэтому не будем беспокоиться об установке.
Типичный синтаксис команды сгиба:
fold [OPTION]... [FILE]...
Позвольте мне показать вам несколько примеров, чтобы вы могли лучше понять команду сгиба. У меня есть файл с именем linux.txt, содержащий несколько случайных строк.
Чтобы обернуть каждую строку в приведенном выше файле шириной по умолчанию, запустите:
fold linux.txt
80 столбцов в строке — ширина по умолчанию. Вот вывод вышеуказанной команды:
Как вы можете видеть в приведенном выше выводе, команда сгиба ограничила ширину вывода до 80 символов.
Конечно, вы можете указать предпочтительную ширину, например 50, как показано ниже:
fold -w50 linux.txt
Пример вывода будет:
Вместо того, чтобы просто отображать выходные данные, мы также можем записать выходные данные в новый файл, как показано ниже:
fold -w50 linux.txt > linux1.txt
Приведенная выше команда переносит строки linux.txt на ширину 50 символов и записывает выходные данные в новый файл с именем linux1.txt.
Проверим содержимое нового файла:
cat linux1.txt
Вы внимательно заметили вывод предыдущих команд? Некоторые слова разбиваются между строками. Чтобы решить эту проблему, мы можем использовать флаг '-s', чтобы разбивать строки на пробелы.
Следующая команда переносит каждую строку в заданном файле на ширину «50» и разбивает строку на пробелы:
fold -w50 -s linux.txt
Пример вывода:
Видеть? Теперь результат более чем ясен. Эта команда помещает каждое слово, разделенное пробелом, на новую строку, а слова длиной > 50 переносятся.
Во всех приведенных выше примерах мы ограничивали ширину вывода столбцами. Однако мы можем обеспечить ширину вывода равным количеству байтов, указанному с помощью параметра -b. Следующая команда разбивает вывод на 20 байт.
fold -b20 linux.txt
Пример вывода:
Читайте также:
- Учебное пособие по командам Uniq с примерами для начинающих
Более подробную информацию можно найти на страницах руководства.
man fold