2016-12-19 2 views
-4

Напримердиапазона Extract, используя регулярное выражение

1cn1 
1cn2 
1cn3 
1cn4 
1cn5 
1cn6 
1cn7 
1cn8 
1cn9 
1cn10 
1cn11 
1cn12 

экстракта линии между 1cn81cn12 к

, как это я сотня линии, хочу извлечь любой диапазон, давая вход.

$ cat test | grep '[$0-9]' 
1cn1 
1cn2 
1cn3 
1cn4 
1cn5 
1cn6 
1cn7 
1cn8 
1cn9 
1cn10 
1cn11 
1cn12 

Это имена узлов, которые хотят извлечь имена узлов в пределах диапазона узлов. Строки, начинающиеся с 1cn8 до 1cn12

+4

Что вы пробовали? Куда вы застряли? Что ожидается выход – nu11p01n73R

+0

тест кот 1cn1 1cn2 1cn3 1cn4 1cn5 1cn6 1cn7 1cn8 1cn9 1cn10 1cn11 1cn12 – user3742796

+1

Пожалуйста, обновите вопрос и добавить то, что вы пробовали. Вопрос неясен как * между '1cn8' до' 1cn12' *, вы имеете в виду строки, начинающиеся с '1cn8' до' 1cn12' или любой строки, которая находится между '8-12' в перемещении? – nu11p01n73R

ответ

0

Вы можете попробовать что-то вроде этого:

[[:alnum:]]{3}([8-9]|1[0-2]) 

Краткое объяснение:

  • [[:alnum:]]{3}: вышлет с любой буквой (в верхнем или нижнем регистре) и цифр, в течение 3 раз;
  • ([8-9]|1[0-2]): вышлет с 8 и 9 [8-9] ИЛИ |, номер один с 0, 1 или 2, 1[0-2]
 
$ cat test 
1cn1 
1cn2 
1cn3 
1cn4 
1cn5 
1cn6 
1cn7 
1cn8 
1cn9 
1cn10 
1cn11 
1cn12 
$ egrep '[[:alnum:]]{3}([8-9]|1[0-2])' test 
1cn8 
1cn9 
1cn10 
1cn11 
1cn12 
Смежные вопросы