GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unterverzeichnisse durchlaufen und in jedem einen Befehl ausführen

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

Wenn es rekursiv sein soll:

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

Dies wird in alle Verzeichnisse unter dem aktuellen absteigen und einen Git-Pull auf den Unterverzeichnissen durchführen, die ein .git-Verzeichnis haben (Sie können es mit -maxdepth einschränken ).


Wenn Sie GNU Parallel http://www.gnu.org/software/parallel/ installiert haben, können Sie Folgendes tun:

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

Dies wird parallel laufen, wenn einige der Netzwerkverbindungen der Git-Server langsam sind, kann dies die Dinge beschleunigen.

Sehen Sie sich das Einführungsvideo für GNU Parallel an, um mehr zu erfahren:http://www.youtube.com/watch?v=OpaiGYxkSuQ


Linux
  1. So finden Sie die Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen

  2. Legen Sie Datum und Uhrzeit für jeden Befehl fest, den Sie im Bash-Verlauf ausführen

  3. Linux-Befehle:jobs, bg und fg

  4. Linux – Finden einer Teilzeichenfolge in Dateien über Unterverzeichnisse hinweg mit einem einzigen integrierten Befehl?

  5. Su-Optionen – Befehl als anderer Benutzer ausführen?

fd – Eine einfache und schnelle Alternative zum Find-Befehl

Bash Exit-Befehl und Exit-Codes

Mehrere Terminal-Tabs öffnen und Befehl ausführen?

So installieren und verwenden Sie den Ack-Befehl im Linux-System

So installieren und konfigurieren Sie Git unter Ubuntu 20.04

Verzeichnisse rekursiv durchlaufen und einen Befehl für eine Datei im Verzeichnis ausführen