0
我有一個shell腳本,它使用sed從一個文件重定向特定的行。如何用sed修改shell腳本輸出的字體顏色?
sed -n "${line_num}p" $1 >> output.txt
我想在將行重定向到output.txt之前對此行着色。
我該怎麼做?
我有一個shell腳本,它使用sed從一個文件重定向特定的行。如何用sed修改shell腳本輸出的字體顏色?
sed -n "${line_num}p" $1 >> output.txt
我想在將行重定向到output.txt之前對此行着色。
我該怎麼做?
如上所述,「文本」沒有顏色。但是你可以這樣做:
BLUE=$(tput setaf 4)
NONE=$(tput op)
sed -n "${line_num}p" $1 | sed -e 's/^\(.*\)$/'"$BLUE"'\1'"$NONE"'/' >> output.txt
將終端特定的轉義序列添加到輸出。
tput是一個(n)curses工具,它可以查找終端功能並打印結果 - 您可以將結果保存到變量中並在腳本中使用。例如,見這些:
文本文件不包含顏色。您可以將終端顏色代碼寫入文件,但不再是「文本」。 – 2015-02-24 15:05:34
Etan,我需要的只是從文件中根據行號擦除一些行並將其重定向到另一個文件。在重定向之前,我需要修改行的顏色。 – 2015-02-24 15:27:49
文字行不**有**顏色。您可以使用特定於終端的(但一般可查詢的)轉義/二進制代碼將顏色呈現給您的終端。你*可以*寫這些文件到文件中,但是你不再有一個**文本文件,你有一個包含文本和文本編輯器等的二進制文件。可能無法正確處理它。 – 2015-02-24 15:40:47