繁体   English   中英

AWK命令的别名-引号过多

[英]Alias of awk command - too many quotes

这里可能缺少一些简单的东西,但我不是Shell脚本专家。

我有一个完美运行的本地命令。

tail -f /path/to/file | awk '
  /INFO/ {print "\033[32m" $0 "\033[39m"}
  /ERROR/ {print "\033[31m" $0 "\033[39m"} 
  /WARNING/ {print "\033[33m" $0 "\033[39m"}
'

如果我将其放入盒中并粘贴,则效果很好。 但是我似乎无法对其进行别名,因为它已经使用了两种引号,因此alias='...'将不起作用。 我也尝试过使其成为一个函数:

function tailMyFile {
    tail -f /path/to/file | awk '
    /INFO/ {print "\033[32m" $0 "\033[39m"}
    /ERROR/ {print "\033[31m" $0 "\033[39m"} 
    /WARNING/ {print "\033[33m" $0 "\033[39m"}'; 
}

告诉我: -bash: /INFO/: No such file or directory

尝试这种函数声明的方式:

tailMyFile() {
    tail -f /path/to/file | awk '
    /INFO/ {print "\033[32m" $0 "\033[39m"}
    /ERROR/ {print "\033[31m" $0 "\033[39m"} 
    /WARNING/ {print "\033[33m" $0 "\033[39m"}'; 
}

但是,似乎您的错误与功能的定义无关,但是否正确显示了/ INFO /目录,您可以对cd /INFO进行任何操作吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM