GNU/Linux >> Tutoriales Linux >  >> Linux

Recorrer subdirectorios y ejecutar un comando en cada uno

for dir in ~/projects/git/*; do (cd "$dir" && git pull); done

Si necesita que sea recursivo:

find . -type d -name .git -exec sh -c "cd \"{}\"/../ && pwd && git pull" \;

Esto descenderá a todos los directorios debajo del actual y realizará un git pull en esos subdirectorios que tienen un directorio .git (puede limitarlo con -maxdepth ).


Si tiene GNU Parallel http://www.gnu.org/software/parallel/ instalado, puede hacer esto:

cd ~/projects/git/; ls | parallel 'cd {} && git pull'

Esto se ejecutará en paralelo, por lo que si la conexión de red de algunos de los servidores git es lenta, esto puede acelerar las cosas.

Mire el video de introducción de GNU Parallel para obtener más información:http://www.youtube.com/watch?v=OpaiGYxkSuQ


Linux
  1. Cómo encontrar el número de archivos en un directorio y subdirectorios

  2. Establezca la fecha y la hora para cada comando que ejecute en el historial de Bash

  3. Comandos de Linux:trabajos, bg y fg

  4. Ejecución de comandos de Linux en segundo plano y en primer plano

  5. Cómo crear y aplicar parches en GIT usando diff y aplicar el comando

fd:una alternativa simple y rápida para encontrar el comando

Comando de salida de Bash y códigos de salida

Cómo instalar y usar el comando Ack en el sistema Linux

Cómo instalar y configurar Git en Ubuntu 20.04

Recorra recursivamente los directorios y ejecute un comando en un archivo en el directorio

Ejecutando phpmyadmin y suphp