perl脚本在linux里,只显示带颜色的命令对于Linux管理员来说linux下perl命令,grep是日常最常用的命令,可以把匹配的字符输出,同样可以输出颜色 。
# grep --color 'test' /var/log/maillog
无聊练功:?用perl 实现grep --color
# vi colorgrep
#!/usr/bin/perl
use Term::ANSIColor;
my $test;
if (@ARGV != 2){
die "Please use (colorgrep 'some key word' filename)\n";
}
$test = shift @ARGV;
while(){
【linux下perl命令 linux中perl命令】if(/$test/i){
print "$`";
print color "bold red";
print "$";
print color 'reset';
print "$'";
}
}
这里调用linux下perl命令了Term::ANSIColor 函数 color 有以下的参数:
clear, reset, dark, bold, underline, underscore, blink, reverse, concealed, black, red, green, yellow, blue, magenta, cyan, white, on_black, on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, and on_white
还有以下的简化使用方法
2) use Term::ANSIColor qw(:constants);
如果使用这种方法,可以直接把颜色属性放在要输出的问题前面,从而简化输出步骤 。这些颜色属性有:
CLEAR, RESET, BOLD, DARK, UNDERLINE, UNDERSCORE, BLINK, REVERSE, CONCEALED, BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, ON_BLACK, ON_RED, ON_GREEN, ON_YELLOW, ON_BLUE, ON_MAGENTA, ON_CYAN, and ON_WHITE
等 。
例如:
print BOLD BLUE ON_WHITE “Text”, RESET, “\n”;
如果linux下perl命令你打印完之后想清除掉字符串的格式 , 一定要记得在最后加上一个RESET的属性值 。
例如:
use Term::ANSIColor qw(:constants);
print BOLD, BLUE, “This text is in bold blue.\n”, RESET;
3) $Term::ANSIColor::AUTORESET = 1;
对于2)的方法 , 如果linux下perl命令你不想在每条打印语句后面加上RESET的话,你可以直接把$Term::ANSIColor::AUTORESET的值设为true 。这样每次打印完字符,只要你的属性值之间没有逗号,系统将自动帮你清除掉颜色属性 。
看一个完整的例子:
use Term::ANSIColor qw(:constants);
$Term::ANSIColor::AUTORESET = 1;
print BOLD BLUE “This text is in bold blue.\n”;
print “This text is normal.\n”;
这三种方法 , 使用起来各有千秋,可根据要打印的复杂程度选用 。
linux下怎么运行perl程序?在linux下“改行code”为单字节,在windows下“改行code”为双字节从linux拷贝文件到windows的时候 , 有时windows会对文件(perl源文件)进行改行字符的变换,此时,如果再将该文件拷贝回linux下时,文件即无法识别改行符,就出现无法运行的问题了 。
1、perl解释器基本在所有的linux平台上都是自带的 , 用户可以通过如下命令判断是否有perl解释器:
which perl
2、如果自己的linux系统上没有perl解释器 , 可以去其下载安装 。
3、在具备perl解释器的情况下,可以参考如下运行步骤:
1)、用vim编写test.pl,代码如下:
#!/usr/local/bin/perlprint "HellonWorld!\n";
2、编写完成后,直接执行如下命令即可:
perl test.perl
3、有时候需要一些权限,自己可以通过su、sudo等命令提示权限 。
linux下怎么运行perl程序在linux下“改行code”为单字节,在windows下“改行code”为双字节从linux拷贝文件到windows的时候 , 有时windows会对文件(perl源文件)进行改行字符的变换,此时,如果再将该文件拷贝回linux下时 , 文件即无法识别改行符,就出现无法运行的问题了 。
1、perl解释器基本在所有的linux平台上都是自带的 , 用户可以通过如下命令判断是否有perl解释器:
which perl
推荐阅读
- 为什么微信不能创建视频号,微信创建不了视频号
- 如何理解建筑新媒体,新型建筑设计媒介技术
- 显卡怎么更新不了游戏,显卡为什么更新不了
- 怎么退出mysql命令编辑器,如何退出mysql
- python输入函数常量 python输入的函数
- linux命令抓包工具,linux命令行切换桌面命令
- excel如何统计区间,excel如何统计区间分布
- php根据字段统计数据 php根据字段统计数据的方法
- 手机强制鸿蒙怎么设置,手机强制鸿蒙怎么设置的