Rapaz!!!!
Era isso mesmo que eu queria!!!

Tiago, muito obrigado, resolveu meu problema...veja como ficou com 
algumas mudanças:

msp01:/home/vinicius/carga # l
total 30864
drwxr-xr-x   4 vinicius users     464 2006-04-11 00:25 ./
drwxr-xr-x  26 vinicius users    4112 2006-04-10 19:32 ../
-rw-r--r--   1 vinicius users 1368549 2006-04-11 00:24 003200604051.csv
-rw-r--r--   1 vinicius users 4889391 2006-04-11 00:24 006200603271.TXT
-rw-r--r--   1 vinicius users 4889391 2006-04-11 00:24 007200603271.TXT
-rw-r--r--   1 vinicius users 1507657 2006-04-11 00:24 009200604051.csv
-rw-r--r--   1 vinicius users 2431710 2006-04-11 00:24 009200604052.csv
-rw-r--r--   1 vinicius users 8750466 2006-04-11 00:24 011200604031.txt
-rw-r--r--   1 vinicius users 1407880 2006-04-11 00:24 012200604051.csv
-rw-r--r--   1 vinicius users 4889391 2006-04-11 00:24 013200603271.TXT
-rw-r--r--   1 vinicius users 1407880 2006-04-11 00:24 016200604051.csv
drwxr-xr-x   2 vinicius users     400 2006-04-11 00:24 bkp/
-rwxr-xr-x   1 vinicius users     338 2006-04-11 00:24 concatena.sh*
-rwxr-xr-x   1 vinicius users    4500 2006-04-04 20:35 pntmysqlloader.sh*
drwxr-xr-x   2 vinicius users     432 2006-04-11 00:24 processados/
msp01:/home/vinicius/carga # cat concatena.sh
#!/bin/bash
for ext in txt csv TXT CSV; do
   for parte in $(ls *.${ext} | cut -c1-11 | sort | uniq) ; do
   cat $(ls -X ${parte}[1-9].${ext}) > ${parte}0.${ext}
   var=$(ls -X ${parte}[1-9].${ext})
   for arquivo in $var ; do
     echo -e "movendo arquivo $arquivo para processados \n"
     mv $arquivo processados/
   done
   done
done
msp01:/home/vinicius/carga # ./concatena.sh
movendo arquivo 011200604031.txt para processados

movendo arquivo 003200604051.csv para processados

movendo arquivo 009200604051.csv para processados

movendo arquivo 009200604052.csv para processados

movendo arquivo 012200604051.csv para processados

movendo arquivo 016200604051.csv para processados

movendo arquivo 006200603271.TXT para processados

movendo arquivo 007200603271.TXT para processados

movendo arquivo 013200603271.TXT para processados

ls: *.CSV: No such file or directory
msp01:/home/vinicius/carga # l
total 30860
drwxr-xr-x   4 vinicius users     432 2006-04-11 00:26 ./
drwxr-xr-x  26 vinicius users    4112 2006-04-10 19:32 ../
-rw-r--r--   1 root     root  1368549 2006-04-11 00:26 003200604050.csv
-rw-r--r--   1 root     root  4889391 2006-04-11 00:26 006200603270.TXT
-rw-r--r--   1 root     root  4889391 2006-04-11 00:26 007200603270.TXT
-rw-r--r--   1 root     root  3939367 2006-04-11 00:26 009200604050.csv
-rw-r--r--   1 root     root  8750466 2006-04-11 00:26 011200604030.txt
-rw-r--r--   1 root     root  1407880 2006-04-11 00:26 012200604050.csv
-rw-r--r--   1 root     root  4889391 2006-04-11 00:26 013200603270.TXT
-rw-r--r--   1 root     root  1407880 2006-04-11 00:26 016200604050.csv
drwxr-xr-x   2 vinicius users     400 2006-04-11 00:24 bkp/
-rwxr-xr-x   1 vinicius users     338 2006-04-11 00:24 concatena.sh*
-rwxr-xr-x   1 vinicius users    4500 2006-04-04 20:35 pntmysqlloader.sh*
drwxr-xr-x   2 vinicius users     432 2006-04-11 00:26 processados/
msp01:/home/vinicius/carga # ls -l processados/
total 48412
drwxr-xr-x  2 vinicius users     432 2006-04-11 00:26 .
drwxr-xr-x  4 vinicius users     432 2006-04-11 00:26 ..
-rw-r--r--  1 vinicius users 1368549 2006-04-11 00:24 003200604051.csv
-rw-r--r--  1 vinicius users 4889391 2006-04-11 00:24 006200603271.TXT
-rw-r--r--  1 vinicius users 4889391 2006-04-11 00:24 007200603271.TXT
-rw-------  1 vinicius users 3834458 2006-04-04 21:32 009200603291.csv
-rw-r--r--  1 vinicius users 1507657 2006-04-11 00:24 009200604051.csv
-rw-r--r--  1 vinicius users 2431710 2006-04-11 00:24 009200604052.csv
-rw-r--r--  1 vinicius users 8750466 2006-04-11 00:24 011200604031.txt
-rw-r--r--  1 vinicius users 1407880 2006-04-11 00:24 012200604051.csv
-rw-r--r--  1 vinicius users 4889391 2006-04-11 00:24 013200603271.TXT
-rw-r--r--  1 vinicius users 1407880 2006-04-11 00:24 016200604051.csv
msp01:/home/vinicius/carga #

Acrescentei no lugar de TODOS o 0 (zero) e ficou perfeito dentro do meu 
outro script...

Assim em vez de ter dois arquivos (009200603291.csv ; 
009200604051.csv)ou mais, fiquei apenas com um único arquivo 
(009200604050.csv) com todos os dados!!!

Obrigado à todos que ajudaram.

[]s

Vinny



Tiago Barcellos Peczenyj escreveu:
> Acho que entendi
>
> Vamos pegar os codigos dos seus clientes + data a partir do cut e usar
> sort | uniq para deixar apenas um registro por codigo. Se eu pegar os
> caracteres das posições 1 a 11 eu pego todos os 'nomes' por assim
> dizer sem o caracter sequencial
>
> $ ls | cut -c1-11 | sort | uniq
> 00220060403
> 00220060406
> 00320060405
> 00620060327
> 00720060327
> 00920060405
> 01120060403
> 01220060405
> 01320060327
> 01620060405
>
> Agora o que vc pode fazer é o seguinte:
>
> $ for parte in $(ls *csv | cut -c1-11 | sort | uniq)
> do echo "Quem comeca por $parte sao $(ls -X ${parte}[0-9].csv)"
> done
>
> O for pega todos as primeiras partes que te interessam. Agora vamos
> usar isso como argumento para o cat e gerar um arquivo com TODOS
>
> $ for parte in $(ls *.csv | cut -c1-11 | sort | uniq)
> do cat $(ls -X ${parte}[0-9].csv) > ${parte}TODOS.csv
> done
>
> Ai vc vai dizer 'po eu tenho arquivos txt e csv, e agora ?' Ora... o
> que é problema para o linux e o bash ?
>
> $ for ext in txt csv
> for parte in $(ls *.${ext} | cut -c1-11 | sort | uniq)
> do cat $(ls -X ${parte}[0-9].${ext}) > ${parte}TODOS.${ext}
> done
> done
>
> Muito divertido, agora só falta vc criar um diretorio de backup e
> brincar a vontade, adaptando estas linhas para o seu problema em
> específico.
> On 4/10/06, SuSE List <[EMAIL PROTECTED]> wrote:
> >  Pessoal,
> >
> >  Boa tarde,
> >  Estou com uma situação um pouco inusitada aqui....tenho a seguinte
> >  listagem de arquivos:
> >
> >  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)
> --
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer



[As partes desta mensagem que não continham texto foram removidas]



---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a