У меня очень простой скрипт perl, который я выполняю некоторое регулярное выражение для значения данных, передаваемых по моей команде perl
. например:Perl - прочитайте входной канал как одну переменную
cat /tmp/myfile.txt | perl -wnE"say for /my_pattern/gi"
Обратите внимание, я понимаю, в моей текущей настройки, что опция -n
оборачивает свою команду экс:
while(<>){
say for /my_pattern/gi
}
... Таким образом, итерация по каждой строке ввода.
Я хотел бы изменить это, когда я могу выполнить регулярное выражение против окончательного вывода моей команды cat
. Все примеры, которые я нахожу, показывают обработку обработки строк за строкой.
Любая помощь будет оценена по достоинству.
Update:
Чтобы быть ясно, я имею в виду любой трубе, а не только чтение из файла, как в моем примере (думаю curl
, wget
, echo
, и т.д ...) Я не уверен, что это даже возможно, учитывая тот факт, что исходная команда может быть долговечной или работать в течение «неопределенного» периода времени.
См [? Что такое лучший способ чавкать файл в строку в Perl] (HTTP : //stackoverflow.com/questions/206661/what-is-the-best-way-to-slurp-a-file-into-a-string-in-perl) –
@ HåkonHægland, см. мое обновление. Спасибо за ваш вклад, но, к сожалению, не то, что я ищу. –
* ", где я могу выполнить регулярное выражение против окончательного вывода моей команды cat" * Я не уверен, что это значит. Вы имеете в виду строку * last * данных с каналами? – Borodin