Linux 101 - Como percorrer todos os diretórios?

2

Eu sou novo no linux e trabalho com o git. Eu tenho um diretório (código) com uma dúzia de subdiretórios (repositórios git).

Eu quero dois comandos que eu possa executar para

  • Obtenha o status atual de todos os repositórios.
  • git puxe novas mudanças para todos os repositórios.

Eu sei que isso é provavelmente muito simples para alguém que sabe o que está fazendo, eu simplesmente não consigo executar o loop correto (estou fazendo o loop de todos os arquivos, não dos diretórios).

Obrigado! Kyle

    
por Kyle West 10.11.2009 / 17:18

2 respostas

5

Experimente o comando find (1) . Você pode informar que procura apenas pelos diretórios ( -type d ) e pesquisar apenas uma profundidade especificada no seu diretório de trabalho ( -maxdepth x ). Além disso, você pode dizer ao find para executar um comando em cada partida, em vez de apenas imprimir seu nome ( -exec ).

Por exemplo, para executar git status em todos os diretórios em seu diretório de trabalho atual, faça

find -type d -maxdepth 1 -exec git status {} \;
    
por 10.11.2009 / 17:26
1

Dê uma olhada no utilitário mr . Ele foi projetado expressamente para esse fim.

    
por 10.11.2009 / 18:46

Tags