Tengo un archivo de texto:
deiauk 1611516 afsdf 765
minkra 18415151 asdsf 4152
linkra sfsfdsfs sdfss 4555
deiauk1 sdfsfdsfs 1561 51
deiauk2 115151 5454 4
deiauk 1611516 afsdf ddfgfgd
luktol1 4545 4 9
luktol 1
y quiero coincidir exactamente deiauk
. Cuando hago esto:
grep "deiauk" file.txt
Me sale este resultado:
deiauk 1611516 afsdf 765
deiauk1 sdfsfdsfs 1561 51
deiauk2 115151 5454 4
pero solo necesito esto:
deiauk 1611516 afsdf 765
deiauk 1611516 afsdf ddfgfgd
Sé que hay una -w
opción, pero mi cadena tiene que mecanizar toda la línea.
grep -w
? (Esa opción es exactamente para ese propósito, y funciona para mí). - Nota: la opción-x
coincide con toda la línea.deiauk
/ " Solo necesito esto:deiauk 1611516 afsdf 765
" - ¿Qué necesitas?Respuestas:
Pruebe uno de:
fuente
*
comando vi / vim en las palabras.org.apache.avro avro
codificadoorg.apache.avro avro+mapred
(probado con *)Pruebe esto con GNU
grep
y marque los límites de las palabras con\b
:Salida:
Ver: http://www.regular-expressions.info/wordboundaries.html
fuente
echo "Enter login: " $vard
grep -E "$\bvard\b" file.txt
grep "\b${vard}\b" file.txt
read
:read -p "Enter login: " vard; grep "\b${vard}\b" file.txt
Si su
grep
soporte-P
(PCRE), puede hacer:fuente
Dependiendo de sus datos reales, puede buscar la palabra seguida de un espacio:
Si sabe que tiene que estar al comienzo de la línea, verifíquelo:
fuente
^
- pero todas las otras respuestas funcionan ... (Cont.)