Утилита cut в Unix/Linux

Утилита 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» подошла к завершению.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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