小编Plu*_*lux的帖子

使用bash/tail/perl/alias可以轻松突出显示不同的字符串

我正在开发一个tomcat应用程序,并希望能够搜索特定的东西并在查看日志时突出显示它.我想要一个像参数(正则表达式)作为输入的别名,并突出显示匹配的字符串.

到目前为止,我认为这是有效的,但它不够实用,每次我想要一些新东西时都要改变它的一小部分:

tail -n 100 -f /opt/apache-tomcat-6.0.26/logs/catalina.out | perl -pe 's/null/\e[1;31m$&\e[0m/g'
Run Code Online (Sandbox Code Playgroud)

这是我认为会起作用的:

logColor(){
  x="'s/"
  y="/\e[1;31m$&\e[0m/g'"
  tail -n 100 -f /opt/apache-tomcat-6.0.26/logs/catalina.out | perl -pe $x$1$y
}
alias logC=logColor
Run Code Online (Sandbox Code Playgroud)

我测试过这打印出两条相同的线:

logColorTest(){
  x="'s/"
  y="/\e[1;31m$&\e[0m/g'"
  echo $x$1$y
  echo "'s/null/\e[1;31m$&\e[0m/g'"
}
alias logCT=logColorTest
logCT null
Run Code Online (Sandbox Code Playgroud)

所以我迷失了为什么这不起作用,并希望得到知道如何工作的人的意见:)

bash perl

2
推荐指数
2
解决办法
515
查看次数

标签 统计

bash ×1

perl ×1