Tengo problemas para usar grep, tengo ubuntu 18.04 instalado en Win 10. Se congela para los comandos más simples, puedo cancelarlo y crea un archivo nuevo si quiero, pero no escribe nada en él.
$ mkdir test
$ cd test
$ ls
$ sudo grep "Werk!" > new
^C
$ ls
new
$ cat new
¿Me estoy perdiendo algo obvio?
Respuesta1
Sí. Estás grabando STDIN, por lo que se cuelga para siempre esperando una entrada que nunca llega.
Probablemente quisiste incluir "." como argumento para grep, y -r (recursivo), para grep el directorio actual.
grep -r hello .
Otras personas también consideran que el comportamiento predeterminado grep
no es ideal, por lo que encontrará que algunas grep
alternativas no tienen este problema. Por ejemplo elBuscador de platava por el nombre ag
y de forma predeterminada busca el directorio actual de forma recursiva, por lo que su suposición sobre la sintaxis correcta habría sido correcta para ag
:
ag hello
ag
también utiliza de forma predeterminada una búsqueda que no distingue entre mayúsculas y minúsculas, a menos que incluya una letra mayúscula, que posiblemente también sea lo que desea. También utiliza de forma predeterminada el color y el motor de expresiones regulares PCRE (como Perl) más potente en lugar de la coincidencia de estilo global más antigua y débil que grep
se utiliza de forma predeterminada.
Los problemas de usabilidad con grep
este tipo de cosas son la razón por la que debes usar una alternativa más nueva cuando puedas y solo grep
cuando sea necesario. grep
Sigue siendo útil conocer una herramienta estándar para scripts de shell que puede compartir y como utilidad estándar en cualquier sistema Linux en el que inicie sesión.
"ripgrep" y "ack" son otras buenas alternativas a grep.
Respuesta2
Te perdiste el segundo argumento del grep
comando que especifica el archivo en el que estás buscando el patrón.
Por favor, sigahombre 1 grupopara obtener ayuda sobre grep
.
Respuesta3
Tal vez quieras grabar textos en el archivo "nuevo", eso se puede hacer usando "textos de eco > nuevo".