从文件中进行 Grep - 空格失败
Grep from file - failing on spaces
我要执行的命令是
fgrep -h -f "list.csv" input.csv > output.csv
为简单起见,假设列表文件包含两项:
内容 1
"c o n t e n t 2"
这两个都在输入文件中匹配。例如,如果我输入
fgrep -h "c o n t e n t 2" input.csv
我收到一个结果。但是,当我使用第一个命令时,它只匹配 content1.
我怀疑这是列表文件中带空格的字符串周围的引号造成的。如何让 grep 匹配引号内的内容并忽略引号本身?
当您使用 fgrep
时,您不需要在间隔实体周围使用引号。 fgrep
已经从字面上理解了每一行。只有在命令行中,您才需要引号才能从额外的命令行参数中消除字符串歧义。您的文件可以是:
content1
c o n t e n t 2
我要执行的命令是
fgrep -h -f "list.csv" input.csv > output.csv
为简单起见,假设列表文件包含两项:
内容 1
"c o n t e n t 2"
这两个都在输入文件中匹配。例如,如果我输入
fgrep -h "c o n t e n t 2" input.csv
我收到一个结果。但是,当我使用第一个命令时,它只匹配 content1.
我怀疑这是列表文件中带空格的字符串周围的引号造成的。如何让 grep 匹配引号内的内容并忽略引号本身?
当您使用 fgrep
时,您不需要在间隔实体周围使用引号。 fgrep
已经从字面上理解了每一行。只有在命令行中,您才需要引号才能从额外的命令行参数中消除字符串歧义。您的文件可以是:
content1
c o n t e n t 2