我正在尝试使用NASHORN执行以下命令,以提取一部分日志 -
$EXEC("sed '1,/Token to find:/d;/Another token to find:/,$d' /path/to/log/file.log")
但它以 -
结尾退出代码:1,错误消息:: sed:-e表达式#1,字符1:未知 命令:'''
在Linux命令提示符下尝试相同的操作, 下面(单引号')它可以拉出日志部分 -
sed '1,/Token to find:/d;/Another token to find:/,$d' /path/to/log/file.log
另一方面,更改引号(“”),我得到相同的错误 -
sed "1,/Token to find:/d;/Another token to find:/,$d" /path/to/log/file.log
sed:-e表达式#1,字符1:未知命令:`
知道什么是正确的方法吗?
答案 0 :(得分:0)
尝试使用sed“/'等不同的组合后 - 看起来好像是由于多个脚本表达式(JavaScript / Linux Shell脚本和sed命令本身!),我遇到了这个麻烦。
作为一种解决方法,我已将表达式移动到文本文件中并提供 sed它的位置 -
sed --file=/sed/expression/file /path/to/log/file.log
或
$EXEC("sed --file=/sed/expression/file /path/to/log/file.log");
var output=$OUT
var exitErrorMsg="Exit Code:" + $EXIT + ", Error Msg::" + $ERR
它现在就像魅力一样!