как извлечь ipv6-адреса из файла - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу grep ipv6-адреса в следующем формате, например 2a01: 1388: 120: 720 :: 1000 и 2b00: 1188: 210: 9 :: 2005

Я использую это для grep ipv4 из файла

1.egrep '[[: digit:]] {1,3}. [[: Digit:]] {1,3}. [[: Digit:]] {1,3}. [[: цифра:]] {1,3} 'file

2.grep -E -o' (25 [0-5] | 2 [0-4] [0-9] | [01]?[0-9] [0-9]) (25 [0-5] |?. 2 [0-4] [0-9] | [01] [0-9] [0-9])?.(25 [0-5] | 2 [0-4] [0-9] | [01] [0-9] [0-9]??) (25 [0-5] |. 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) 'File

Пропустите -o, если хотите увидеть всю совпадающую строку.

Есть ли аналогичные регулярные выражения для ipv6?

1 Ответ

0 голосов
/ 22 ноября 2018

нашел ответ в Регулярное выражение, которое соответствует действительным адресам IPv6 -bash-4.1 $ egrep '(([0-9a-fA-F] {1,4}:) {7,7} [0-9a-FA-F] {1,4} | ([0-9a-FA-F] {1,4}:) {1,7}: | ([0-9a-FA-F] {1, 4}:) {1,6}: [0-9a-FA-F] {1,4} | ([0-9a-FA-F] {1,4}:) {1,5} (:[0-9a-FA-F] {1,4}) {1,2} | ([0-9a-FA-F] {1,4}:) {1,4} (: [0-9a-FA-F] {1,4}) {1,3} | ([0-9a-FA-F] {1,4}:) {1,3} (: [0-9a-FA-F] {1,4}) {1,4} | ([0-9a-FA-F] {1,4}:) {1,2} (: [0-9a-FA-F] {1,4}){1,5} | [0-9a-FA-F] {1,4}: ((: [0-9a-FA-F] {1,4}) {1,6}) |: ((:[0-9a-FA-F] {1,4}) {1,7} |:) | fe80: (: [0-9a-FA-F] {0,4}) {0,4}% [0-9a-Za-Z] {1} |: :( FFFF (: 0 {1,4}) {0,1}:) {0,1} ((25 [0-5] | (2 [0-4] | 1 {0,1} [0-9]) {0,1} [0-9])) {3,3} (25 [0-5] |. (2 [0-4]| 1 {0,1} [0-9]) {0,1} [0-9]) | ([0-9a-FA-F] {1,4}:) {1,4}: ((25 [0-5] | (2 [0-4] | 1 {0,1} [0-9]) {0,1} [0-9])) {3,3} (25 [0-.5] | (2 [0-4] | 1 {0,1} [0-9]) {0,1} [0-9])) 'file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...