将grep输出重定向到文件

fab*_*lin 6 bash shell sh

我不确定为什么代码中提供的重定向不起作用.每次运行脚本时,输出文件始终为空.有没有人对此有所了解?

谢谢.

#!/bin/sh

LOOK_FOR="DefaultProblem"
FILES=`ls plugins/*source*.jar`

for i in $FILES
  do
    # echo "Looking in $i ..."
    unzip -p $i | grep -i $LOOK_FOR > output #> /dev/null 
    if [ $? == 0 ]
    then
      echo ">>>> Found $LOOK_FOR in $i <<<<"
    fi
  done
Run Code Online (Sandbox Code Playgroud)

anu*_*ava 9

您可能希望使用>>(append)而不是>(overwrite)进行重定向:

unzip -p $i | grep -i $LOOK_FOR >> output #> /dev/null
Run Code Online (Sandbox Code Playgroud)

由于您output每次都在循环中执行此命令并覆盖文件,因此如果使用grep的最后一个命令在解压缩输出中找不到任何匹配的行,则最后它可能是空白的.