GNU/Linux >> Linux の 問題 >  >> Linux

サブディレクトリをループし、それぞれでコマンドを実行する

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

再帰的にする必要がある場合:

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

これは、現在のディレクトリの下にあるすべてのディレクトリに降りて、.git ディレクトリを持つサブディレクトリで git pull を実行します (-maxdepth で制限できます)。 ).


GNU Parallel http://www.gnu.org/software/parallel/ がインストールされている場合、これを行うことができます:

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

これは並行して実行されるため、一部の git サーバーのネットワーク接続が遅い場合、速度が向上する可能性があります。

詳細については、GNU Parallel の紹介ビデオをご覧ください:http://www.youtube.com/watch?v=OpaiGYxkSuQ


Linux
  1. ディレクトリとサブディレクトリ内のファイル数を見つける方法

  2. Bash履歴で実行する各コマンドの日付と時刻を設定する

  3. Linux –単一の組み込みコマンドを使用してサブディレクトリ全体のファイルでサブストリングを検索しますか?

  1. Suオプション–別のユーザーとしてコマンドを実行しますか?

  2. Git とハードリンク

  3. Bash - 日付コマンドとスペース

  1. Linuxコマンド:jobs、bg、およびfg

  2. ディレクトリを再帰的にループし、ディレクトリ内のファイルに対してコマンドを実行します

  3. phpmyadmin と suphp の実行