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,JP
en 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 -E
opció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.".