У меня есть следующая строка
11-22-33-44-55-66-77-88-99-1010-1111-1212
Я хочу извлечь 88-99-1010-111 из той строки
С awk
:
echo 11-22-33-44-55-66-77-88-99-1010-1111-1212 | awk 'BEGIN {FS=OFS="-"} {print $8,$9,$10,$11}'
BEGIN {FS=OFS="-"}
используется для установки обоих разделитель полей (FS
) и выходной разделитель полей (OFS
) к -
.Использовать cut
:
На основе разделителя и полей:
echo 11-22-33-44-55-66-77-88-99-1010-1111-1212 | cut -d- -f 8-11
На основе позиции символа:
echo 11-22-33-44-55-66-77-88-99-1010-1111-1212 | cut -c 22-36
Или используйте параметр удара substition:
var=11-22-33-44-55-66-77-88-99-1010-1111-1212
echo ${var:21:15}