Impossible de find mon input dans une string en utilisant grep

J'ai une string séparée avec des virgules où je veux find mon input dans cette ligne:

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

La sortie est vide! Comment dois-je utiliser grep pour find mon input dans cette string?

Permutez les arguments des commands:

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

Dans:

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

vous searchz la string (model) US,CA,CH,JP dans la string d'input US , qui ne correspond pas de manière anticipée.

À less que vous n'attendiez que les virgules agissent comme une instruction "ou", dans ce cas, il vous suffit de changer les virgules en canaux et d'utiliser l'option -E pour les expressions régulières étendues :

 echo US | grep -E "US|CA|CH|JP" 

Ou changez les virgules en caractères de nouvelle ligne:

 echo US | grep "US CA CH JP" 

J'utiliserais $echo US | grep -i "US|CA|JP|CH" $echo US | grep -i "US|CA|JP|CH"

Au lieu d'éco, donnez-lui une list ou quelque chose, où il peut effectivement aller chercher des templates, au lieu de les chercher en "US"