如何仅获取包含 list_of_od_strings.txt file_with_strings_in_lines.xml 给出的字符串的行?
这个问题类似于从文本文件中选择具有在另一个文件中列出的 id 的行到目前为止,我已经得到了一个文件 list_of_od_strings.txt ,其中包含 file_with_strings_in_lines.xml 中存在的字符串。应打印包含这些字符串之一的行。上述问题的第一个文件中的 id 仅包含一个单词。
我这里的情况有所不同,在 ids.csv 中,id 是以连续的两到四个字符串的组合形式给出的,例如“一二 333 四”。
grep -wFf list_of_id_strings.txt file_with_strings_in_lines.xml
给我一个输出,我在其中看到突出显示的 list_of_id_strings.txt 找到的字符串。但是,file_with_strings_in_lines.xml 中没有 list_of_id_strings.txt 字符串的行也会显示。也就是说,我在输出中看到了整个 list_of_id_strings.txt 。
如何仅获取包含 list_of_od_strings.txt file_with_strings_in_lines.xml 给出的字符串的行?
答案1
file_with_strings_in_lines.xml 中没有 list_of_id_strings.txt 字符串的行也会显示
根据评论,我们推断该问题是对说服 grep 输出所有行,而不仅仅是那些匹配的行即您list_of_id_strings.txt
至少包含一个空字符串。
-F Match using fixed strings. [...] A null string shall match every line.
解决方案是从 id 文件中删除所有空字符串。