Учебное пособие по командам развертывания и развертывания с примерами
В этом руководстве мы обсудим две менее известные команды Linux, а именно Expand и Unexpand, с практическими примерами. Для тех, кому интересно: команда «Развернуть» используется для замены символов TAB на символы пробела в файлах, а команда «Развернуть» делает противоположное, то есть заменяет символы ПРОБЕЛ на символы TAB в файле. Фактически, в MS-DOS также есть команда «Развернуть», которая используется для расширения сжатого файла. Но команда Linux Expand просто преобразует табуляции в пробелы. Эти две команды являются частью GNU coreutils и написаны Дэвидом Маккензи.
В демонстрационных целях в этом руководстве я буду использовать текстовый файл с именем «ostechnix.txt».
Развернуть примеры команд
Как уже говорилось, команда «Развернуть» заменяет символы TAB в файле символами ПРОБЕЛ.
Чтобы преобразовать табуляцию в пробелы в файле, например «ostechnix.txt», и записать результат в стандартный вывод с помощью команды:
expand ostechnix.txt
Если вы не хотите отображать результат в стандартном выводе, просто загрузите его в другой файл, как показано ниже.
expand ostechnix.txt>output.txt
Мы также можем конвертировать табуляции в пробелы, читая из стандартного ввода. Для этого просто запустите команду «развернуть», не упоминая имя исходного файла:
expand
Просто введите текст и нажмите Enter, чтобы преобразовать табуляцию в пробелы. Нажмите CTRL+C, чтобы выйти.
Если вы не хотите конвертировать табуляции после пробелов, используйте флаг -i, как показано ниже.
expand -i ostechnix.txt
Мы также можем использовать табуляцию на расстоянии определенного количества символов, а не 8 (значение по умолчанию):
expand -t=5 ostechnix.txt
Вы даже можете указать несколько позиций табуляции через запятую, как показано ниже.
expand -t 5,10,15 ostechnix.txt
Или,
expand -t "5 10 15" ostechnix.txt
Более подробную информацию можно найти на страницах руководства.
man expand
Примеры команд «Развернуть»
Команда Отменить развертывание выполняет действие, противоположное команде «Развернуть». Он преобразует символы ПРОБЕЛ в символы TAB. Позвольте мне показать вам несколько примеров, чтобы научиться использовать команду Unexpand.
Чтобы преобразовать пробелы (конечно, пробелы) в файле в табуляции и записать вывод на стандартный вывод, выполните:
unexpand ostechnix.txt
Если вы хотите записать вывод в файл, а не просто отображать его на стандартный вывод, используйте эту команду:
unexpand ostechnix.txt>output.txt
Преобразуйте пробелы в табуляции, читая из стандартного вывода:
unexpand
По умолчанию команда Unexpand преобразует только исходные пробелы. Если вы хотите преобразовать все пробелы, а не только начальные, используйте флаг -a:
unexpand -a ostechnix.txt
Чтобы преобразовать только начальные последовательности пробелов (обратите внимание, что это переопределяет -a):
unexpand --first-only ostechnix.txt
Используйте табуляцию на расстоянии определенного количества символов, а не 8 (включает -a):
unexpand -t 5 ostechnix.txt
Точно так же мы можем указать несколько позиций табуляции через запятую, как показано ниже.
unexpand -t 5,10,15 ostechnix.txt
Или,
unexpand -t "5 10 15" ostechnix.txt
Более подробную информацию можно найти на страницах руководства.
man unexpand
Рекомендуем прочитать:
- Учебное пособие по команде Fold с примерами для начинающих
При работе с большим количеством файлов команды «Развернуть» и «Развернуть» могут быть очень полезны для замены нежелательных символов TAB символами ПРОБЕЛ и наоборот.