Я пытаюсь использовать эту команду - 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
Добавьте пример ввода и желаемый результат для примера ввода что к вашему вопросу. Ваш ввод не содержит YYYYY
.
Вы рассказали нам, КАК вы подумали о том, чтобы сделать что-то 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, но есть в вашем ожидаемом выходе - объясните или исправьте это.
Извините. желаемый результат будет. 10Chars Stringtogetwith14Char 10.10.10.76 5Charters AnotherstringtoGet14chart 10.10.10.11
Я подумал о замене всех «=» пробелом или табуляцией и использованием substr. просто хочу иметь для этого одну команду.
придумал это: awk '{gsub (/ = /, ""); gsub (/, /, ""); gsub (/ @ /, "")} 1' file.txt | awk '/ 10Chars | 15Characters / {print $ 4, $ 6, $ 11, $ 13}'
Попробуйте отформатировать свой контент в блоке кода, сделав отступ в этих строках на 4 пробела, чтобы мы могли легче понять вашу проблему.