shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: [OT] Concatenar aquivos


From: Flavio Junior
Subject: Re: [shell-script] Re: [OT] Concatenar aquivos
Date: Mon, 10 Apr 2006 21:33:55 -0300

Hm..

Deixa eu escrever o codigo, depois eu explico e vejamos se é o que voce quer:

--------------------------------- cut ----------------------------

#!/bin/bash
# Script concatenacao de todos os arquivos passados por parametro,
para um arquivo final
# fixo com o nome de: arqfinal.txt

if [ -f arqfinal.txt ]; then
    echo -e "Ja existe um arquivo com o nome arqfinal.txt\nPor favor
remova-o ou renomeie\n";
    exit 1;
fi

for file in $@;
do
   cat $file >> arqfinal.txt;
done

-----------------------cut -------------------------

To escrevendo o script no corpo do e-mail, entao pode conter erros
bobos ai, mas a logica ta certa.

Vamos la, $@ = parametro1 parametro2 parametro3 parametro4
Entao pra cada parametro ele vai jogar o conteudo do arquivo para o arqfinal.txt

Voce pode executa-lo, assim:
$./script.sh arq1 arq2 arq3
Se quiser concatenar todos os *.txt do diretorio, por exemplo faça:
$./script *.txt

Eu acredito que funcione, se é o que voce quer eu nao tenho certeza.

T+

Flavio Junior aka scrat

On 4/10/06, Leogildo <address@hidden> wrote:
> Oi,
>
> Até onde observei, não existem os mesmos nomes de arquivos com as
> extensões "txt" e "csv", e nem arquivos "txt" com extensão diferente
> de "1", o que sugere que os arquivos "csv" são criados apenas quando
> os mesmos são particionados (não sei se a sua lista está fiel, pois
> existem arquivos "csv" apenas com sequencial "1").
>
> Neste caso, eu optei por criar e concatenar em um "txt", veja:
>
> #---------------------------------------------------------------------
> for NARQ in *.csv
> do
>    NARQ_PFX=$(echo ${NARQ} | cut -c1-11)
>    if [ ! -f ${NARQ_PFX}1.txt ]
>    then
>       cat ${NARQ} >  ${NARQ_PFX}1.txt
>    else
>       cat ${NARQ} >> ${NARQ_PFX}1.txt
>    fi
> done
> #---------------------------------------------------------------------
>
> Obs.: lembre-se que é apenas uma idéia, simples e sem controles.
>
>
> Bye!
>
> --- Em address@hidden, SuSE List <suse_list@m...>
> escreveu
> >
> > Pessoal,
> >
> > Boa tarde,
> > Estou com uma situação um pouco inusitada aqui....tenho a seguinte
> > listagem de arquivos:
> >
> > msp01:/home/vinicius/carga # ls -l
> > total 44693
> > drwxr-xr-x  2 vinicius users     368 2006-04-06 19:33 ./
> > drwxr-xr-x  4 vinicius users     464 2006-04-06 22:36 ../
> > -rw-r--r--  1 vinicius users 8640480 2006-04-03 18:50
> 002200604031.txt
> > -rw-r--r--  1 vinicius users 5488000 2006-04-06 19:01
> 002200604061.txt
> > -rw-r--r--  1 vinicius users 1407919 2006-04-06 14:50
> 003200604051.csv
> > -rw-r--r--  1 vinicius users 4889391 2006-03-27 16:45
> 006200603271.TXT
> > -rw-r--r--  1 vinicius users 4889391 2006-03-27 16:45
> 007200603271.TXT
> > -rw-r--r--  1 vinicius users 4889391 2006-04-06 14:30
> 009200604051.csv
> > -rw-r--r--  1 vinicius users 3939367 2006-04-06 14:31
> 009200604052.csv
> > -rw-r--r--  1 vinicius users 8750466 2006-04-03 12:51
> 011200604031.txt
> > -rw-r--r--  1 vinicius users 1407919 2006-04-06 14:30
> 012200604051.csv
> > -rw-r--r--  1 vinicius users 4889391 2006-03-27 16:45
> 013200603271.TXT
> > -rw-r--r--  1 vinicius users 1407919 2006-04-06 14:30
> 016200604051.csv
> >
> > Dois destes arquivos especificamente foram gerados pelo excel em
> formato
> > csv, mas vieram quebrados em dois, pelo limite de linhas do excel
> (65k)
> > gerando respectivamente:
> >
> > 009200604051.csv
> > 009200604052.csv
> >
> > Tem alguma forma ou lógica pra fazer em shell, a junção destes dois
> > arquivos, tipo um `cat 009200604052.csv >> 009200604051.csv`
> sabendo que
> > eu posso ter mais do que dois arquivos, tipo 009200604053.csv e
> > 009200604054.csv (até um máximo de *9.csv) gerando ao final
> um "unico"
> > arquivo: 009200604051.csv
> >
> > Algumas informações sobre a nomeação dos arquivos:
> >
> > 1-3 => codigo de cliente, variavel
> > 4-11 => data (yyyymmdd), variavel em função do dia
> > 12-12 => sequencial de 0-9, variavel em função do excel
> > 14-16 => extensão (csv ou txt)
> >
> > Julio e Moderadores, coloquei um OT no subject, pois não tenho
> certeza
> > se isso caracteriza shell puro....minha dúvida pode cair como
> lógica de
> > programação, se for encarada assim, peços aos colegas que não
> respondam
> > (ou aos que se prontificarem, por gentileza, em PVT) e
> desconsiderem a
> > mensagem.
> >
> > []s
> >
> > Vinny
> >
>
>
>
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]