Поиск awk между несколькими началом и концом

Я пытаюсь использовать эту команду - awk 'match($0,"SubNetwork=XXXXX"){print substr($0,56,14)}' file.txt

Чтобы получить этот результат ниже:

10Chars Stringtogetwith14Char 10.10.10.76 15Characters YYYYY AnotherstringtoGet14chart 10.10.10.11

Я думал об использовании «=» в качестве начала и «,» в качестве конца 1-го поиска и еще «=» и «,» для 2-го поиска и 5-го появления «@» в качестве начала и 6-го «@». "как и конец 3-го поискового шаблона.

Пример файла с 6000 строками: SubNetwork=ROOT,SubNetwork=10Chars,MeContext=Stringtogetwith14Char,ManagedElement=1@[email protected]@true@[email protected]@ SubNetwork=ON_ROOT,SubNetwork=15Characters,ManagedElement=AnotherstringtoGet14chart@DummyNode SITE@90B@true@[email protected]@

Выход:

10Chars Stringtogetwith14Char 10.10.10.76 15Characters AnotherstringtoGet14chart 10.10.10.11

Попробуйте отформатировать свой контент в блоке кода, сделав отступ в этих строках на 4 пробела, чтобы мы могли легче понять вашу проблему.

dibery 09.09.2018 08:05

Добавьте пример ввода и желаемый результат для примера ввода что к вашему вопросу. Ваш ввод не содержит YYYYY.

Cyrus 09.09.2018 09:12

Вы рассказали нам, КАК вы подумали о том, чтобы сделать что-то i was thinking of using " = " as a beginning and "," as the end of the 1st search and another " = " and "," for the 2nd search and a 5th occurrence of "@" as a start and 6th "@" as and end of the 3rd search pattern. to produce the output below., но не сказали, ЧТО это вы пытаетесь сделать (например, напечатать какое-то значение, связанное с некоторым текстом). Уточните, пожалуйста, ваши требования. Также - в вашем образце входных данных нет XXXXX, но есть в вашем ожидаемом выходе - объясните или исправьте это.

Ed Morton 09.09.2018 16:58

Извините. желаемый результат будет. 10Chars Stringtogetwith14Char 10.10.10.76 5Charters AnotherstringtoGet14chart 10.10.10.11

Art Honrado 10.09.2018 04:47

Я подумал о замене всех «=» пробелом или табуляцией и использованием substr. просто хочу иметь для этого одну команду.

Art Honrado 10.09.2018 04:49

придумал это: awk '{gsub (/ = /, ""); gsub (/, /, ""); gsub (/ @ /, "")} 1' file.txt | awk '/ 10Chars | 15Characters / {print $ 4, $ 6, $ 11, $ 13}'

Art Honrado 01.10.2018 08:48
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
57
0

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