Troca String: mudanças entre as edições

De Wiki Clusterlab.com.br
Ir para navegação Ir para pesquisar
Sem resumo de edição
 
(Sem diferença)

Edição atual tal como às 14h27min de 28 de agosto de 2017

SIMPLES

#!/bin/bash
ANTES=PREENCHER
DEPOIS=PREENCHER
TEMPFILE=$(mktemp -p /tmp )
cat $1 | sed -e "s/$ANTES/$DEPOIS/g" > $TEMPFILE
cat $TEMPFILE > $1
rm $TEMPFILE

SOFISTICADO

#!/bin/bash
function trocar() {
        ANTES=$2
        DEPOIS=$3
        TEMPFILE=$(mktemp -p /tmp )
        while read arquivo
        do
                cat $arquivo | sed -e "s/$ANTES/$DEPOIS/g" > $TEMPFILE
                cat $TEMPFILE > $arquivo
        done  < $1
        rm $TEMPFILE
}
function testar() {
        echo $1 $2 $3
}
function ajuda() {
        echo $0 analisar \<string\> \| trocar \<arq de dados\> \<string antes\> \<string depois\>
        echo $0 trocar \<arq de dados\> \<string antes\> \<string depois\>
        echo $0 testar \<string antes\> \<string depois\>
        exit
}
function ARQTEMP() {
case $1 in
        criar)
                mktemp -t trocastring.XXXXXX
                ;;
        apagar)
                rm -fr $2
                ;;
esac
}
function analisar() {
        arqtemp=$(ARQTEMP criar)
        time find $(pwd) -type f -exec  grep -l "$1" {} \;  | tee $arqtemp
        echo ###
        echo Dados gerados em $arqtemp
}
if [ $# -eq 0 ]
then
        ajuda
fi
case $1 in
        analisar)
                if [ $# -lt 2 ]
                then
                        ajuda
                else
                        analisar $2
                fi
                ;;
        trocar)
                if [ $# -lt 4 ]
                then
                        ajuda
                else
                        trocar $2 $3 $4
                fi
                ;;
        testar)
                if [ $# -lt 3 ]
                then
                        ajuda
                else
                        testar $2 $3
                fi
                ;;
        *)
                ajuda
                ;;
esac