我必须使用 grep 在如下所示的文件中搜索字符串,该字符串无法按预期工作。
这只是对字符串的简单搜索,但不确定为什么它不起作用
echo "Naizhu NZ1020 Lady Necklace Sexy Tcollarbone Chain Alloy PlatingSilver" | grep "Lady Necklace"
有人可以在这里帮我为什么它不起作用,想知道原因
命令grep
将打印与模式匹配的整行。
所以
echo "Naizhu NZ1020 Lady Necklace Sexy Tcollarbone Chain Alloy PlatingSilver" | grep "Lady Necklace"
会给你
Naizhu NZ1020 Lady Necklace Sexy Tcollarbone Chain Alloy PlatingSilver
您可以使用grep -o
或--only-matching
来
仅打印匹配行的匹配(非空(部分,每个部分 该部分位于单独的输出线上。
并且只得到
Lady Necklace
在问题的评论中提到使用文件进行输入。由于该编码目前未知,因此您也可以尝试使用字符类
grep -o "Lady[[:space:]]Necklace"
有关更多选项,请参阅man grep
。
您还应该查看输入文件,以及您要查找的单词是否在同一行中并用空格分隔,而不是与其他不可打印的字符分隔。