Bash 脚本中没有作为stdout和stderr的输出

Bash 脚本中没有作为stdout和stderr的输出,bash,Bash,我正在开发和执行一个Unix脚本,需要检查文件中是否存在字符串- while read line do echo $line grep -ir $line /c/*.json >> q1 done < a 读取行时 做 回音$线 grep-ir$line/c/*.json>>q1 完成

我正在开发和执行一个Unix脚本,需要检查文件中是否存在字符串-

while read line
do
echo $line
grep -ir $line /c/*.json >> q1
done < a
读取行时
做
回音$线
grep-ir$line/c/*.json>>q1
完成

但q1文件中没有记录任何输出行-实际上它是空的?为什么-我手动看到目标文件中存在一些字符串?

不确定
但是你可以在一个文件上做grep,你不需要先读它

grep -i .json a >> q1

谢谢,我的问题是,我从中读取字符串的文件是DOS格式的——我需要在该文件上运行dos2unix——之后它就可以正常工作了