Утилита cut используется для извлечения (вырезания) диапазонов символов, подстрок, колонок. Несколько примеров работы оператора CUT
Разбиваем массив на элементы и объединяем с помощью заданного разделителя. Работает только для однословных элементов массива:
1 2 3 4 5 6 |
arr=(hello world) echo "${arr[@]}" | cut -d ' ' --output-delimiter=':' -f 1- # hello:world |
/-c выбрать только символы в заданной позиции (позиция или срез: 3,5-7,10 )
-f вывести только перечисленные в списке колонки (номера,колонок)
-d символ разделить колонок вместо табуляции (не строка! Только в паре с -f)
-s не выводить строки, которые не содержат разделителей (Только в паре с -f)
—output-delimiter=’:’ строка для разделения полей при выводе (вместо разделителя как при вводе)
Получить 2й символ:
1 2 3 4 |
echo "tExt" | cut -c 2 # E |
Извлечь символ из переменной:
1 2 3 4 |
echo ${str:1:1} |
Извлечь символы с 9-го по 10-й:
1 2 3 4 |
echo "content IS long" | cut -c 9-10 # IS |
Вырезать (извлечь) первые 4 символа из строки:
1 2 3 4 |
echo "SOME text" | cut -c -4 # SOME |
Вырезать последние 7 символов (используется rev):
1 2 3 4 |
echo "cut last 7 SYMBOLS" | rev | cut -c -7 | rev # SYMBOLS |
Разделить строку на колонки и выбрать 1,3 колонки:
1 2 3 4 |
echo 'one,2,three,4' | cut -d ',' -f 1,3- # one,three,4 |