Articles of perl

Удалить несколько строк из файла в командной строке, высокая производительность

Существует ли элегантный, высокопроизводительный однострочный способ удаления нескольких полных строк из входных данных? Я обрабатываю большие текстовые файлы, например, 1 миллион строк во входном файле и 100 000 совпадающих строк в хит-файле . У меня есть скрипт на Perl, который загружает хит-файл в хеш, а затем проверяет все «слова» в каждой строке входного файла , […]

Поиск и замена с помощью пользовательской утилиты

Я хочу запустить утилиту для замены значений, соответствующих регулярному выражению. Это означает, что для каждого соответствия регулярного выражения вызывайте утилиту с символами, составляющими совпадение. Вывод утилиты заменяет оригинальные символы. Для наглядности используем factor : $ factor 230 230: 2 5 23 Таким образом, используя эту утилиту, я хочу выбрать целые числа, вызвать factor с целым […]

Есть два списка, хотите исключить list2 из list1

Список1 : 1,name1 2,name2 3,name3 4,name4 5,name5 6,name6 7,name7 8,name8 9,name9 Список 2 : 3 13 14 6 1 7 15 26 Мне нужен вывод, как: 2,name 4,name 5,name 8,name 9,name Вывод должен содержать элементы из столбца №1 Списка1, которых нет в Списке2 . List1 и List2 не отсортированы, но при необходимости я отсортирую оба […]

AWK | Динамическое преобразование строк в столбцы

Мои файлы: EventTime=20180726001317 ObjectOfReference=TCU_XXX202 SPtext=Heartbeat Failure EAName=TCU_XXX202 EventTime=20180726001317 ObjectOfReference=TCU_XXX203 SPtext=Heartbeat Failure EAName=TCU_XXX203 Ожидаемый результат: EventTime;ObjectOfReference;SPtext;EAName 20180726001317;TCU_XXX202;Heartbeat Failure;TCU_XXX202 20180726001317;TCU_XXX203;Heartbeat Failure;TCU_XXX203 Я пытался с помощью скрипта awk, но он не работает: awk -F\”= :\” ‘!/%a/&&/-EventTime|EAName|-ObjectOfReference|-SPtext|%A/{if(\$1 != \”%A\”)printf \$NF\”,\”;else print \”\\n\”}’

изменить 3-й символ в строке

вход: dummy – 22847847 sha – 84734747 DHS – 374874 ожидаемый результат: du1my – 22847847 sh1 – 84734747 DH1 – 374874

Удалить часть строки с помощью sed?

У меня есть следующий вывод: Date Time: June 22 12:40:00 Product User Host IP Software User User *.***.***.*** Software1 User User *.***.***.*** Я пробовал некоторые функции с sed и awk , но не работает; Я хочу, чтобы текст оставался следующим образом: Date Time: June 22 12:40:00 Product User Host Software User User Software1 User User […]

Получение данных строки из соответствующего столбца в файле CSV в Perl?

Я не могу прикрепить файл CSV, поэтому я прикрепил изображения, чтобы их содержимое было четким. Я использовал awk и perl one liners, но это не дает никакого вывода. Пожалуйста, помогите мне знать, как я могу получить строки с соответствующим номером столбца и текстом / значением столбца. это может быть написано в форме сценария, чем команда. […]

sed + пометить строку в случае пройденного слова

мы хотим пометить “#” совпадающую строку с помощью sed или perl line liner например мы хотим отметить все строки в файле, которые include слово DatePattern log4j.appender.DRFA.DatePattern=.yyyy-MM-dd ожидаемый результат #log4j.appender.DRFA.DatePattern примечание – если строка уже отмечена, она не добавит еще один знак «#» перед строкой

Вставить многострочный текст перед первой соответствующей строкой в ​​файле

мы хотим добавить следующие строки в файл log4j log4j.appender.DRFA=org.apache.log4j.RollingFileAppender log4j.appender.DRFA.MaxBackupIndex=100 log4j.appender.DRFA.MaxFileSize=10MB но эти строки должны быть перед первой строкой, содержащей слово DatePattern , независимо от того, помечена ли строка знаком #log4j.appender.DRFA.DatePattern=.yyyy-MM-dd или же log4j.appender.DRFA.DatePattern=.yyyy-MM-dd примечание – в случае, если слово DatePattern появляется в файле несколько раз, тогда три строки должны быть установлены только перед первой […]

Нужен awk / sed для замены значений внутри $ {}

Я пытаюсь сделать URL-тестирование, выбрав значения из файла env.properties. Например, мои env.properties будут выглядеть так a.host.name=wanx.com b.host.name=xyu.com c.host.name=${b.host.name} d.host.name=${c.host.name} url1=https://${d.host.name}/test url2=https://${a.host.name}/test2 Пока что я сделал – 1. так как есть “.” в файле я не смог сделать прямую замену. Поэтому я заменил точки подчеркиванием с помощью awk awk -F= -vOFS=”=” ‘gsub(/\./,”_”,$1)+1’ endpoint_test.txt Теперь мой файл […]

Intereting Posts