xiloba
(usa Slackware)
Enviado em 12/04/2013 - 20:10h
Achei várias respostas em
http://gnulinuxfreak.blogspot.com.br/2006/05/dica-criando-vrios-arquivos.html
DICA - Criando vários arquivos...
Pessoal, essa dica vai para aqueles que necessitam, seja lá o porque, criarem vários arquivos de uma só vez. Eu postei a mesma dica no Viva o Linux e no Fórum GDH. Contudo, alguns amigos da comunidade livre postaram outras maneiras de se executar essa dica. Então aqui vai:
Eu escrevi...
Pessoal, aqui vai uma dica que demorei para descobrir como executar. É o seguinte: Volta e meia, preciso criar vários arquivos de uma só vez. Última vez, estava criando uma rotina para fazer o download do FC5 automático e em dado momento do script resolvi criar vários arquivos de uma só vez. Aí surgiu a questão... Como fazer isso?! "Dar" vários 'touch'?! Não... tentar criar de uma só vez usando o 'vi' ou qualquer outro editor?! Também não! Simples! Vou mostrar duas maneiras de efetuar o processo. A primeira, mais "fácil", porém trabalhosa, consiste em criar um .txt qualquer com o nome de todos os arquivos que você deseja criar:
1) crie o arquivo no 'vi' com seguinte conteúdo:
arquivo-1.txt
arquivo-2.txt
arquivo-3.txt
arquivo-4.txt
arquivo-5.txt
arquivo-6.txt
arquivo-7.txt
arquivo-8.txt
2) define a seguinte variável: VAR=`cat arquivo`
3) "dê" um 'touch' na variável $VAR: touch $VAR
Obs.: há outras possibilidades! Vai depender da sua criatividade! Por ex.: touch `cat arquivo`. Estimule a criatividade! Experimente fazer rotinas com laços usando 'for' ou o 'while'
Peczenyj escreveu...
Tem muitas formas de fazer isso
cat arquivo xargs touch
touch arquivo-{1,2,3,4,5,6,7,8}.txt
for((i=1;i<=8;i++)) ; do touch arquivo-${i}.txt ; done
Basta inventar uma...
Profeta_Livre escreveu...
#!/bin/bash
#
# bem simples vc da a quantidade de arquivo que quer
# criar, e ele atribui o nome do arquivo (
# este nome vc tambe fornece) com uma numeracao
# como vc mesmo propos
#
# as definicoe scomecam com 0,1,2 etc...
#
echo -e "Digite o nome da seguencia de arquivos: \n"
read arquivo
echo -e "Quantos arquivos devem ser criados? \n"
read quantidade
echo -e "Criando os arquivos...\n";
variavel="0"
while [ $variavel -lt $quantidade ]; do
arq=$arquivo$variavel
touch $arq.txt
echo -e "$arq.txt criado \n"
let variavel=variavel+1
done
Peczenyj escreveu...
$ set - `cat txt` && while [ "${1}" ] ; do touch ${1} ; shift ; done
Meu amigo JQueiroz escreveu...
for n in 1 2 3 4 5 6 7 8 9 10; do touch arquivo-$n.txt ; done