Executando um script para seus subdiretórios

1

Estou tentando executar um script de captura de tela, mas não quero executá-lo em seus subdiretórios.

Eu estou tendo, digamos, um mapa chamado moviemap, existem 3 mapas dentro com 5 filmes em cada mapa. Eu quero ir dentro do mapa do filme do mapa, e então rodar um script onde ele vai começar a fazer screenshots de todos os filmes dentro dos 3 mapas.

Como posso fazer isso?

Atualmente tenho isso, mas não funciona: (

#!/bin/bash
basedir=$1

for dir in "$basedir"/* 
do
      for i in *;
      do
           vcs -n40 -c4 -H 267 -a 400/267 -U0 $i
      done
done
    
por user146746 22.01.2014 / 19:14

1 resposta

0

Ok, se sua configuração é assim:

Movies/Jan/movie1.mp4
Movies/Jan/movie2.mp4
Movies/Feb/movie3.mp4
Movies/Feb/movie4.mp4
Movies/march/movie5.mp4

Onde o Movies é seu baseado. Em seguida, o script a seguir listará todos os seus arquivos de filme com caminhos completos relativos ao basedir.

for dir in $basedir/*/*
do
  for file in $dir/
  do
    echo $file
  done
done

Substitua echo $file pelo seu comando vcs, mas tente assim primeiro para ter certeza de obter os arquivos corretos.

Isso não tem tolerância a falhas e não recorre a subdiretórios. Você pode querer adicionar uma verificação de que apenas os arquivos de vídeo são capturados.

    
por dan08 22.01.2014 / 22:58