【发布时间】:2020-10-19 13:02:05
【问题描述】:
我正在运行一个 shell 脚本,在该脚本下我正在运行在 STDOUT 上写入输出数据的程序,并从那里捕获输出并将其重定向到文件中。 但是该程序写入了很多数据,当我将其写入文件时需要过滤掉这些数据
test -d $data | grep "^[A-Z]*|[0-9]*" >> $OUT_FILE
现在在第 3 行的此输出中,我得到一个值,我想检查该值是否小于 43564,然后跳过该行。
test -d $data | grep "^[A-Z]*|[0-9]*" | awk -F "|" 'if($3 >= 43564){print $0}'>> $OUT_FILE
但这对我不起作用,建议我做错了什么
【问题讨论】:
-
test -d "$data"不向标准输出写入任何内容,因此grep没有任何内容可供读取。