Script de substituição em série
Script para bash que lê um arquivo de "configuração" com uma lista de palavras e depois entra interativamente em uma lista de subdiretórios varrendo arquivos de texto um a um e substituindo expressões por outras.O mesmo lagoritmo pode ser usado para criar semelhante em perl, php, python, c etc. Dependendo da linguagem ele cobrirá outras plataformas.
Foi testado em textos menos complexos distribuídos em árvores de diretórios. Pode ser usado por exemplo em diretórios de páginas de html.
#! /bin/bash
# clontexto - Deve ter um jeito mais facil de se fazer essa @#$%!! de serviço.
[[ $# -ne "3" ]] && echo -e "Parametros errados.\nUse ./clontexto.sh " && exit;
[[ ! -f $1 ]] && echo "$1: Arquivo inexistente" && exit;
[[ ! -d $2 ]] && echo "$2: Diretorio inexistente" && exit;
[[ -d $3 ]] && echo "$3: Destino existente" && exit;
direc () {
cd $1;
q=`pwd`;
d=${q/$dir_mod/};
[[ ! -d $dest_dir/$d ]] && mkdir $dest_dir/$d;
for i in *; do
[[ -d $i ]] && direc "$i"
[[ -f $i ]] && sed "${f[*]}" "$i" > "$dest_dir/$d$i";
done;
cd ..
}
arq_conf=$1;
dir_mod=$2;
dest_dir=$3;
t=1;
while read i; do
f[$((t++))]="s/${i/://}/g;";
done < $arq_conf;
c=`pwd`; t=1;
direc "$dir_mod" "$dest_dir";
cd $c;
0 Comentário(s):
Postar um comentário
<< Principal