сценарий оболочки: часть сокращения строки

У меня есть следующая строка

11-22-33-44-55-66-77-88-99-1010-1111-1212

Я хочу извлечь 88-99-1010-111 из той строки

0
задан 15 October 2019 в 15:28

2 ответа

С 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) к -.
1
ответ дан 22 December 2019 в 00:19

Использовать 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}
2
ответ дан 22 December 2019 в 00:19

Другие вопросы по тегам:

Похожие вопросы: