¿Cómo logro encontrar todos los archivos en un directorio y subdirectorios y ejecutar un comando en ellos?
Por ejemplo,
find . -type f -name "*.txt"
encuentra todos los archivos txt y:
find . -type f -name "*.txt" | gedit
lo envía a gedit, pero dentro de un archivo de texto. Quiero que gedit abra todos los archivos de texto.
linux
command-line
xyz
fuente
fuente
{}
sustituye al nombre del archivo actual y el punto y coma se acaba de terminación del comando. La barra invertida y las comillas circundantes son solo para evitar la expansión del shell.find . -type f -name "*.txt" -print0 | xargs -0 gedit
fuente
man find
oman xargs
, luego,/
para buscar una bandera determinada. La documentación es bastante buena, debería responder a sus preguntas.-print0
imprime un carácter NULL después de cada entrada,-0
espera que las entradas estén separadas por un carácter NULL. Es la forma más segura de manejar nombres complicados.