我正在尝试从文件中读取记录,如果任何文件中都有字符串,请打印该文件。 代码:
while read line
do
find ./q/q*.q -type f -exec grep -ls $line {} +
donr< "file_name"
文件名的数据如下:
india
usa_k
in_va
在执行过程中,我得到grep: illegal option error
同一时间,我想将find的o / p存储在变量中。任何帮助
仅在循环中,我想连接$ line并找到o / p并直接在txt文件中。
编码如下:
$line | o/p find >> missing.txt
在i / p文件中,如果我们具有值“ INDIA”(如果该值在其他txt文件中可用),那么我要打印“在(文件名)中印度可用”并将此信息存储在txt文件中。我们需要对所有值进行此操作。
答案 0 :(得分:1)
将--
放在选项终止符的前面,-e
放在"$line"
的扩展名之前,并引用该扩展名。这样可以防止将名称或搜索字符串作为选项读取。
while IFS= read -r line; do
find ./q/q*.q -type f -exec grep -l -e "$line" -- {} + |
while IFS= read -r matched_file; do
echo "$line is available in $matched_file"
done
done <file_name >results.txt