grep se congela

grep se congela

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 grepno es ideal, por lo que encontrará que algunas grepalternativas no tienen este problema. Por ejemplo elBuscador de platava por el nombre agy 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

agtambié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 grepse utiliza de forma predeterminada.

Los problemas de usabilidad con grepeste tipo de cosas son la razón por la que debes usar una alternativa más nueva cuando puedas y solo grepcuando sea necesario. grepSigue 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 grepcomando 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".

información relacionada