GNU/Linux >> Belajar Linux >  >> Linux

Mengulang Melalui Subdirektori dan Menjalankan Perintah di Masing-Masing

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

Jika Anda membutuhkannya secara rekursif:

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

Ini akan turun ke semua direktori di bawah yang sekarang, dan melakukan git pull pada subdirektori yang memiliki direktori .git (Anda dapat membatasinya dengan -maxdepth ).


Jika Anda memiliki GNU Parallel http://www.gnu.org/software/parallel/ terpasang, Anda dapat melakukan ini:

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

Ini akan berjalan secara paralel sehingga jika beberapa koneksi jaringan server git lambat, ini dapat mempercepat.

Tonton video intro GNU Parallel untuk mempelajari lebih lanjut:http://www.youtube.com/watch?v=OpaiGYxkSuQ


Linux
  1. Cara Menemukan Jumlah File dalam Direktori dan Subdirektori

  2. Tetapkan Tanggal dan Waktu untuk Setiap Perintah yang Anda Jalankan di Bash History

  3. Perintah Linux:pekerjaan, bg, dan fg

  1. Kurang Menyoroti Perintah Dan Sintaks?

  2. Cara Membuat dan Menerapkan Patch di GIT menggunakan diff and apply Command

  3. Bash - Perintah tanggal dan spasi

  1. Linux – Menemukan Substring Dalam File di Seluruh Subdirektori Dengan Satu Perintah Bawaan?

  2. Opsi Su – Menjalankan Perintah Sebagai Pengguna Lain?

  3. Mengulangi direktori secara rekursif dan menjalankan perintah pada file di direktori