我有一個perl腳本,讀取輸出(逐行)當來自另一過程管道,做了位處理和噴出出其結果:改變輸入記錄分隔符到 n或 r解析線
#!/bin/bash
set -e
set -o pipefail
RUN.SH ${@} 2>&1 | perl -M"Term::ANSIColor" -wnl -e '
m/ERROR/i and print "\e[1;91m", "$_", "\e[0m"
or print;'
它的效果很好,除非過程RUN.SH
的輸出不以新行結束(\n
),而以\r
結束!在這種情況下,這個Perl解析器不會打印任何東西,直到下一個\n
。我需要更改它,以便它將使用\n
和\r
作爲輸入記錄分隔符。
有什麼想法?
雞蛋裏挑骨頭:你'使用期限:: ANSIColor'但你實際上並不使用* *任期:: ANSIColor。 – ThisSuitIsBlackNot