无法使用 grep 在字符串中找到我的输入

use*_*092 11 grep

我有一个用逗号分隔的字符串,我想在该行中找到我的输入:

echo US | grep "US,CA,CH,JP"

输出为空!我应该如何使用 grep 在该字符串中查找我的输入?

hee*_*ayl 18

交换命令的参数:

echo "US,CA,CH,JP" | grep US
Run Code Online (Sandbox Code Playgroud)

在:

echo US | grep "US,CA,CH,JP"
Run Code Online (Sandbox Code Playgroud)

您正在US,CA,CH,JP输入 string中查找字符串(模式),该字符串US与预期不匹配。


Jef*_*ler 14

除非您希望逗号表现得像一个“或”语句,在这种情况下,您只需要将逗号更改为管道并使用扩展正则表达式的-E选项:

echo US | grep -E "US|CA|CH|JP"
Run Code Online (Sandbox Code Playgroud)

或将逗号更改为换行符:

echo US | grep "US
CA
CH
JP"
Run Code Online (Sandbox Code Playgroud)