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?
Intercambie 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,JP
en la cadena de entrada US
, que no coincide con lo esperado.
A menos que esperara que las comas actúen como una declaración "o", en cuyo caso solo necesita cambiar las comas a canalizaciones y usar la -E
opción para Expresiones regulares extendidas :
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"
yo usaría $echo US | grep -i "US|CA|JP|CH"
En lugar de eco, dele una lista o algo así, donde realmente pueda ir y buscar patrones, en lugar de buscarlos en "EE. UU."
-E
.