Para executar um script existem duas maneiras:
1) Voce pode digitar diretamente no terminal ou
2) Salvar um arquivo com a extensão .sh e rodar com
sudo chmod +x myscript.sh
./myscript.sh
./myscript.sh
Também da pra executar direto com
sh myscript.sh
Criando vários arquivos numa sequência numérica
Podemos escrever tudo numa única linha no terminal.
for i in $(seq 1 20); do touch arquivo$i\rg.out; done
Acrescenta dois caracteres no final, seguido da extensão do arquivo.
Renomeando vários arquivos
Neste exemplo, vamos inserir um 0 no início de cada arquivo.
for i in $(seq 1 9);
do
mv E$i.txt E0$i.txt;
done
do
mv E$i.txt E0$i.txt;
done
Renomeando todos os arquivos numa sequência numérica
Escreva tudo numa única linha no terminal.
j=1; for i in 'find . -type f'; do if (($i <= 9)); then mv $i 0$j.out; else mv $i $j.out; fi; ((j++)); done
Copiando vários arquivos numa sequência numérica
#!/bin/bash
n=30
for i in $(seq 2 $n)
do
if (($i <= 9)) then cp arquivo arquivo0$i #insere um zero no inicio de cada arquivo
else
cp arquivo arquivo$i
fi
done
n=30
for i in $(seq 2 $n)
do
if (($i <= 9)) then cp arquivo arquivo0$i #insere um zero no inicio de cada arquivo
else
cp arquivo arquivo$i
fi
done
Inserindo o conteúdo de vários arquivos dentro de um único arquivo
Neste exemplo, vamos inserir o conteúdo de vários arquivos numerados em
sequência dentro de um único arquivo.
for i in $(seq 1 50)
do
less arquivo$i.txt >> arquivoFinal.txt
done
do
less arquivo$i.txt >> arquivoFinal.txt
done
"make junta paginas"
Este exemplo foi usado para gerar um PDF a partir de dois PDFs onde umcontém as páginas impares e outro contém as páginas pares de forma invertida.
Ou seja,
páginas pares: 1 3 5 7
páginas impares: 8 6 4 2
E o resultado final é: 1 2 3 4 5 6 7 8
#!/bin/bash
n=8
pa=1
pb=7
echo "pdfjam " > junta_paginas.sh
for i in $(seq 1 $n)
do
echo -n "pa.pdf ’$pa’ pb.pdf ’$pb’ "
let "pa = i + 1"
let "pb += -1"
done >> junta_paginas.sh
echo "-o final.pdf" >> junta_paginas.sh
n=8
pa=1
pb=7
echo "pdfjam " > junta_paginas.sh
for i in $(seq 1 $n)
do
echo -n "pa.pdf ’$pa’ pb.pdf ’$pb’ "
let "pa = i + 1"
let "pb += -1"
done >> junta_paginas.sh
echo "-o final.pdf" >> junta_paginas.sh
Mais informações:
Shell Script
Wikipedia
Obrigado por referenciar o meu site.
ResponderExcluir