我有一个for循环,它在几行上循环。每行有两个字符串,用一个标签将它们隔开,例如
chr11 105804693
当我将变量与要搜索的文件一起传递给grep时,它将返回"105804693: No such file or directory"
。我的代码如下:
用于$中的行(cat list_of_lines);执行grep$line file_to_search_in>>output_file;完成
我尝试printf
变量,它返回"chr11"
,但当我回显变量时,它返回了"chr11 105804693"
如何对变量调用grep并让它搜索整行?
您可能没有在具有搜索模式的变量周围添加引号
search_pattern_variable="chr11 105804693"
grep "$search_pattern_variable" input-file
由于您的变量包含单词chr11 105804693
,shell
使用默认的IFS
(字段分隔符)将这些单词拆分为多个单词,并使用chr11
作为模式,使用105804693
作为文件名,但它报告没有看到这样的文件。
查看"分词"在bash
中的含义。