
Утилита cut в Unix/Linux
Cut — это команда в UNIX или Linux, используется для вырезания текста в строках файла. Вы можете использовать команду «cut», чтобы выбрать поля или столбцы из строки, указав разделитель (вы можете выбрать часть текста), указав диапазон или символы. В своей статье «Утилита cut в Unix/Linux» я расскажу как можно использовать данную утилиту на готовых примерах.
Утилита cut в Unix/Linux
Теперь, создайте файл use_cut.txt для выполнения дальнейших примеров с использованием утилиты cut, для примера:
# cat /home/captain/use_cut.txt Unix and Linux is best OS in the world I like MacOS, CentOS, Debian I don't use Windows!
Использования команды cut в Unix / Linux, чтобы напечатать символы определенной позиции.
Команду «cut» можно использовать для вывода символов в строке, указав положение вывода. Для вывода символов в строке, используйте опцию «-c», например:
# cut -c3 /home/captain/use_cut.txt i l d
Эта команда выведет символ в каждой строке файла который стоит в 3-й позиции. Вы можете распечатать более одного символа, указав позиции символов в списоке, разделенные запятыми, как показано в примере ниже:
# cut -c3,7 /home/captain/use_cut.txt in l dt
Эта команда выведет 3-й и 7-й символ в каждой строке.
Использования команды cut в Unix / Linux, чтобы напечатать символы в определенном диапазоне.
Вы можете напечатать диапазон символов в строке, указав начальную и конечную позицию символов:
# cut -c3-8 /home/captain/use_cut.txt ix and like M don't
Эта команда выведет (вырежет) символы с 3-й позиции по 8-ю в каждой строке. Чтобы напечатать первые пять символов в строке, можно опустив начальную позицию и указав только конечную позицию:
# cut -c-5 /home/captain/use_cut.txt Unix I lik I don
Чтобы напечатать символы с девятой позиции до конца, для этого нужно указать только стартовую позицию и опустить конечную позицию:
# cut -c9- /home/captain/use_cut.txt Linux is best OS in the world acOS, CentOS, Debian use Windows!
Использования команды cut в Unix / Linux, чтобы вывести символы разделенные определенным разделителем.
Вы можете использовать команду «cut» как аналог команды AWK для извлечения полей в файле, используя разделитель. Опция «-d» в утилите cut может быть использована как разделитель и опция «-f» используется для указания положения поля:
# cut -d' ' -f2 /home/captain/use_cut.txt and like don't
Эта команда печатает второе поле в каждой строке обработкой пробелом в качестве разделителя. Вы можете распечатать более одного поля, указав положение полей, разделив их запятыми:
# cut -d' ' -f2,3 /home/captain/use_cut.txt and Linux like MacOS, don't use
Эта команда печатает второе и третье поле в каждой строке.
Примечание: Если разделитель, указанный не существует в строке, то команда вырежет и напечатает всю строку. Для подавления этих строк использовать опцию «-s».
Использования команды cut в Unix / Linux, чтобы вывести символы определенного интервала для полей.
Вы можете напечатать диапазон полей, указав начальную и конечную позицию:
# cut -d' ' -f1-3 /home/captain/use_cut.txt Unix and Linux I like MacOS, I don't use
Выше команда выведет первую, вторую и третью строку. Чтобы напечатать первые три поля, вы можете игнорировать позицию начала и указать только конечную позицию:
# cut -d' ' -f-3 /home/captain/use_cut.txt
Чтобы показать строки начиная из 2-й строки до последнего поля, вы можете опустить последнюю позицию поля:
# cut -d' ' -f3- /home/captain/use_cut.txt Linux is best OS in the world MacOS, CentOS, Debian use Windows!
Использования команды cut в Unix / Linux, чтобы вывести первое поле из /etc/passwd файла.
В файле /etc/passwd поля разделены разделителем (:). С помощью команды cut можно вывести можно вывести первое поле в данном файле:
# cut -d':' -f1 /etc/passwd rtkit nscd avahi-autoipd abrt rpcuser nfsnobody apache saslauth postfix mysql ntp hsqldb
Преобразовать текст в обратном порядке (отобразить зеркально).
Для этого, используем следующую команду:
# rev /home/captain/use_cut.txt | cut -d'.' -f1 dlrow eht ni SO tseb si xuniL dna xinU naibeD ,SOtneC ,SOcaM ekil I !swodniW esu t'nod I
Вот и все, тема «Утилита cut в Unix/Linux» подошла к завершению.