GNU/Linux >> Tutoriales Linux >  >> Linux

¿Encontrar no recursivo cuando se le da un patrón en la línea de comando?

Imagina un árbol de fuentes. Hay archivos xml por todas partes.

Pero como hay un XYZ.xml en la raíz de este árbol, no encontrará mis archivos xml.

find -iname *.xml

regresa

./XYZ.xml

en lugar de

./XYZ.xml
./a/b/c/bob.xml
./b/d/top.xml

Respuesta aceptada:

find -iname '*.xml'

De lo contrario, su shell se expande *.xml a XYZ.xml , y el comando que realmente se ejecuta es

find -iname XYZ.xml

La razón por la que funciona si no hay archivos XML en el directorio actual es que los shells generalmente dejan comodines sin expandir si no coinciden con nada. En general, cada vez que desee que un programa que no sea el shell expanda los comodines (por ejemplo, mediante find , tar , scp , etc.) debe citarlos para que el shell no intente expandirlos por sí mismo.


Linux
  1. Acelere rsync al migrar un servidor Linux desde la línea de comandos

  2. encontrar:comando no encontrado

  3. vim:comando no encontrado

  4. Encuentra la versión de WordPress desde la línea de comandos

  5. Explicando el comando 'find -mtime'

Domina la línea de comandos de Linux

Cómo buscar archivos desde la línea de comandos de Linux

Cómo encontrar archivos en la línea de comandos de Ubuntu

¿Encontrar la línea de comando?

grep:comando no encontrado

Cómo encontrar el directorio de datos mysql desde la línea de comando en Windows