传递空模式时忽略grep -v不查询?

时间:2018-02-21 11:14:49

标签: bash shell grep

我有一段代码正在运行,但我想要一个不同的结果。我们说$query_value$not_query_valueempty

`sed -n "$dateRange" $error_log_file_name|egrep -i "($query_value)"|grep -E -i -v "($not_query_value)"|head -n $first_few_lines_value>>$extracted_log_path_value` 

sed的输出传递给grep。 grep返回所有内容,grep -V在传递空模式时不返回任何内容。我的愿望是,当grep -V模式传递给grep时,empty应该像if,else一样行事。我可以通过grep -V条件通过检查空模式是否未传递给grep -V来实现它。但我不想提供任何检查站。如果没有提供$not_query_value,是否可以忽略sed -n '/2018-02-19 00:0[0-9]/,/2018-02-19 23:59/p' "/var/opt/MarkLogic/Logs/ErrorLog_2.txt"|egrep -i "()"|grep -E -i -v "()"|head -n $first_few_lines_value>>$extracted_log_path_value;

输入样本是 -

> 2018-02-19 00:01:03.668 Info: Merged 26 MB in 1 sec at 19 MB/sec to
> /var/opt//Forests/Meters/000059de 2018-02-19 00:01:06.046 Info:
> Deleted 20 MB at 7321 MB/sec /var/opt//Forests/Meters/000059db
> 2018-02-19 00:01:06.050 Info: Deleted 6 MB at 1546 MB/sec
> /var/opt//Forests/Meters/000059da 2018-02-19 00:01:06.054 Info:
> Deleted 7 MB at 1988 MB/sec /var/opt//Forests/Meters/000059dc
> 2018-02-19 00:10:00.406 Info: Saving /var/opt//Forests/Meters/000059dd
> 2018-02-19 00:10:01.059 Info: Saved 6 MB in 1 sec at 9 MB/sec to
> /var/opt//Forests/Meters/000059dd 2018-02-19 00:17:01.076 Info: Saving
> /var/opt//Forests/Meters/000059df 2018-02-19 00:17:01.349 Info: Saved
> 6 MB at 22 MB/sec to /var/opt//Forests/Meters/000059df 2018-02-19
> 00:17:01.375 Info: Merging 30 MB from
> /var/opt//Forests/Meters/000059de, /var/opt//Forests/Meters/000059dd,
> and /var/opt//Forests/Meters/000059df to
> /var/opt//Forests/Meters/000059e1, timestamp=15190204210766740
> 2018-02-19 00:17:04.285 Info: Merged 29 MB in 3 sec at 10 MB/sec to
> /var/opt//Forests/Meters/000059e1 2018-02-19 00:17:07.209 Info:
> Deleted 26 MB at 922 MB/sec /var/opt//Forests/Meters/000059de
> 2018-02-19 00:17:07.239 Info: Deleted 6 MB at 198 MB/sec
> /var/opt//Forests/Meters/000059dd 2018-02-19 00:17:07.251 Info:
> Deleted 6 MB at 516 MB/sec /var/opt//Forests/Meters/000059df
> 2018-02-19 00:19:01.558 Info: Merging 1 MB from
> /var/opt//Forests/App-Services/00000a33 to
> /var/opt//Forests/App-Services/00000a35, timestamp=15190205407316140
> 2018-02-19 00:19:01.626 Info: Merged 2 MB at 29 MB/sec to
> /var/opt//Forests/App-Services/00000a35 

什么都不返回。预期的输出将是大量的日志文件,如 -

grep -V {empty pattern}

按预期直到grep命令,但grep -V反转并且不返回任何内容。我希望在pytest_plugins中传递空模式时,它应该不执行或像grep一样运行(因为grep在空序列的情况下返回所有内容)。

1 个答案:

答案 0 :(得分:1)

从grep -v条件中删除括号以获得所需的结果。 你的代码应该是:

function handleSubmit(event) {
  event.preventDefault();
  return false;
}

window.onload = function () {
  document.getElementById('myForm1').addEventListener('submit', handleSubmit);
}