【03】 linux 终端下高亮输出perl
来源:互联网 发布:随机算法软件 编辑:程序博客网 时间:2024/06/16 05:43
经常使用linux 的人会发现,有很多命令的输出结果都带有一定的格式,比如说颜色高亮显示,背景颜色等。 那么在编写perl 脚本的时候,是否也能将perl 的输出进行格式化处理呢? 答案是肯定的,而且非常简单。
1. perl 支持的输出样式:
1. 测试脚本: test-format
#!/usr/bin/perl#打印颜色必须引入的模块和设置use Term::ANSIColor qw(:constants);$Term::ANSIColor::AUTORESET = 1;print "\n perl 支持的颜色类型 \n";print BOLD "BOLD\n";print CLEAR "CLEAR\n";print DARK "DARK\n";print UNDERLINE "UNDERLINE\n";print UNDERSCORE "UNDERSCOPRE\n";print BLINK "BLINK\n";print REVERSE "REVERSE\n";print CONCEALED "CONCELED\n";print BLACK "BLACK\n";print RED "RED\n";print GREEN "GREEN\n";print YELLOW "YELLOW\n";print BLUE "BLUE\n";print MAGENTA "MAGENTA\n";print CYAN "CYAN\n";print WHITE "WHITE\n";print ON_BLACK "ON_BLACK\n";print ON_RED "ON_RED\n";print ON_GREEN "ON_GREEN\n";print ON_YELLOW "ON_YELLOW\n";print ON_BLUE "ON_BLUE\n";print ON_MAGENTA "ON_MAGENTA\n";print ON_CYAN "ON_CYAN\n";print ON_WHITE "ON_WHITE\n";
2. 输出结果:
2. perl 格式化字符串中关键字
1. 测试程序: test-color
#!/usr/bin/perl#打印颜色必须引入的模块和设置use Term::ANSIColor qw(:constants);$Term::ANSIColor::AUTORESET = 1;&print_color("hello,world,hello,java,hello,js\n","java","hell");#desc 输出有颜色的字符串#para1 接收至少两个参数以上,第一个参数为要格式化的字符串,之后的参数为要使用颜色的字符串sub print_color(){ die "print_color 方法需要至少两个参数" if @_ <2; #获取要格式化颜色的字符串 my $line = shift @_; #获取要高亮的字符串数组 @patterns = @_; #获取要高亮显示的字符串数组,拼接正则模式 my $spectors = (shift @_) . '+'; foreach(@_){ $spectors .= "|$_+"; } #按正则模式进行分组 my @arrays = split(/($spectors)/, $line); #输出结果 for my $item(@arrays){ #直接使用@patterns 数组反向匹配,数组内插时,每个字符串直接会有空格 if("@patterns" =~ $item){ print BOLD RED $item; } else { print $item; } }}
2. 运行结果:
1 0
- 【03】 linux 终端下高亮输出perl
- Perl在终端上输出彩色字体
- Linux终端颜色输出
- 修改linux终端输出颜色
- Linux终端输出有颜色
- Linux终端彩色文字输出
- linux终端输出彩色字体
- Linux终端打印彩色输出
- Linux终端彩色字符的输出方法
- Linux 终端下颜色的输出
- linux终端下输出彩色文字
- linux终端中输出彩色字体
- Linux终端彩色字符的输出方法
- Linux在终端出输出颜色
- Linux输出终端字体的颜色设置
- php在linux终端输出带颜色
- linux 驱动 Printk 在终端没有输出
- linux终端中输出彩色字体
- 对泛型<T>的一点理解
- Leetcode 209. Minimum Size Subarray Sum
- Leetcode Divide Two Integers
- Linux基础
- hello world! 喔,好吧。。。我是程序员
- 【03】 linux 终端下高亮输出perl
- ubuntu安装eclipse
- qweweqr
- 条件运算符?优先级
- 【LeetCode】 223. Rectangle Area
- win版git的安装及获取源码踩过的坑(超清晰)
- 【LeetCode】 225. Implement Stack using Queues
- 基础1
- 【LeetCode】 226. Invert Binary Tree