我通过搜索此处的问题创建了这个命令。如果我手动提供关键字,它就会起作用,例如
while read line; do grep -wFrIin "keyword" --exclude-dir={.git,target} --include=\*.{java,ts,html} /path/to/project/; done < keywords.csv
但如果我使用关键字文件的实际内容则不会得到任何结果:
while read line; do grep -wFrIin "$line" --exclude-dir={.git,target} --include=\*.{java,ts,html} /path/to/project/; done < keywords.csv
此外,当我回显 $line 时,我得到了关键字:
while read line; do echo "$line"; done < keywords.csv
我认为这可能是 \r\n 或 \n 的问题,但如果文件中只有一个关键字且没有换行符,它仍然不起作用......