No puedo encontrar mi entrada en la cadena usando grep

No puedo encontrar mi entrada en la cadena usando grep

Tengo una cadena separada por comas donde quiero encontrar mi entrada en esa línea:

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

¡La salida está vacía! ¿Cómo debo usar grep para encontrar mi entrada en esa cadena?

Respuesta1

Intercambia los argumentos de los comandos:

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

En:

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

está buscando la cadena (patrón) US,CA,CH,JPen la cadena de entrada US, que no coincide como se esperaba.

Respuesta2

A menos que esperara que las comas actuaran como una declaración "o", en cuyo caso sólo necesita cambiar las comas a barras verticales y usar la -Eopción paraExtendidoexpresiones regulares:

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

O cambie las comas a caracteres de nueva línea:

echo US | grep "US
CA
CH
JP"

Respuesta3

yo usaría$echo US | grep -i "US|CA|JP|CH"

En lugar de eco, dale una lista o algo así, donde pueda ir y buscar patrones, en lugar de buscarlos en "EE. UU.".

información relacionada