The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
ksh script ajudar praveenbvarrier Programação Shell Script e 1 04-15-2008 11:19
sql scripts ajudar sam786 Programação Shell Script e 3 12-10-2007 12:31
diferença entre AIX e Unix shell scripts shell scripts. haroonec Programação Shell Script e 2 04-12-2006 09:12
scripting guru da pls me ajudar com scripting no AIX thatiprashant Programação Shell Script e 1 01-20-2006 07:58
Scripting? woofie What's on Your Mind? 1 03-09-2005 07:03

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 05-14-2008
Habitante do norte Northerner is offline
Usuário
  
 

Join Date: May 2008
Localização: Sheffield
Lugares: 11
A saída deste comando é awk
0508 0601 LVTS4687 58 1ltreb_shu1l110 shu1l110
0509 0108 LVTS4687 58 1ltreb_shu1l110 shu1l110
0509 0108 LVTS4687 58 1ltreb_shu1l110 shu1l110
0509 0108 LVTS4687 58 1ltreb_shu1l110 shu1l110
0508 2206 LVTS5035 98 1sy_unix_live_dmz_duplex_15_35 srublae03-mgt
0508 2206 LVTS5035 98 1sy_unix_live_dmz_duplex_15_35 srublae03-mgt
0508 2206 LVTS5035 98 1sy_unix_live_dmz_duplex_15_35 srublae03-mgt
0508 2206 LVTS5430 98 1
0508 2206 LVTS5430 98 1
0508 2206 LVTS5430 98 1
0508 2206 LVTS5431 98 1lmurb_shu1l282 shu1l282-sy
0508 2206 LVTS5431 98 1lmurb_shu1l282 shu1l282-sy
0508 2206 LVTS5431 98 1lmurb_shu1l282 shu1l282-sy
0506 0920 LVTS5750 41 3nw_unix_live_dmz_duplex_35_35 NRUCCAE09 MGT -
0506 0920 LVTS5750 41 3nw_unix_live_dmz_duplex_35_35 NRUCCAE09 MGT -
0506 0920 LVTS5750 41 3nw_unix_live_dmz_duplex_35_35 NRUCCAE09 MGT -
0506 0920 LVTS5750 41 3nw_unix_live_dmz_duplex_35_35 NRUCCAE09 MGT -
0506 0920 LVTS5750 41 3nw_unix_live_dmz_duplex_35_35 NRUCCAE09 MGT -
0506 0920 LVTS5750 41 3nw_unix_live_dmz_duplex_35_35 NRUCCAE09 MGT -

Que está quase lá para além de haver nenhum espaço entre parm5 e 6, e também parm 4 é reduzido para os últimos 2 dígitos. Desculpas pela minha ignorância sobre esta matéria, mas eu nunca usaram "awk" antes. O arquivo deve ser semelhante a este

0508 0601 LVTS4687 58 1 ltreb_shu1l110 shu1l110
0509 0108 LVTS4687 58 1 ltreb_shu1l110 shu1l110
0509 0108 LVTS4687 58 1 ltreb_shu1l110 shu1l110
0509 0108 LVTS4687 58 1 ltreb_shu1l110 shu1l110
0508 2206 LVTS5035 98 1 sy_unix_live_dmz_duplex_15_35 srublae03-mgt
0508 2206 LVTS5035 98 1 sy_unix_live_dmz_duplex_15_35 srublae03-mgt
0508 2206 LVTS5035 98 1 sy_unix_live_dmz_duplex_15_35 srublae03-mgt
0508 2206 LVTS5430 98 1
0508 2206 LVTS5430 98 1
0508 2206 LVTS5430 98 1
0508 2206 LVTS5431 98 1 lmurb_shu1l282 shu1l282-sy
0508 2206 LVTS5431 98 1 lmurb_shu1l282 shu1l282-sy
0508 2206 LVTS5431 98 1 lmurb_shu1l282 shu1l282-sy
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT

É possível formatar o arquivo de forma cada parm começa em uma coluna específica, por exemplo

Parm1 em Col1
Parm2 em Col6
Parm3 em Col12
Parm4 em Col22
Parm5 em Col27
Parm6 em Col30
Parm7 em Col65
  #2 (permalink)  
Old 05-14-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
viciado
  
 

Join Date: Jan 2007
Localização: Варна, България / Milano, Italia
Mensagens: 2.915
O primeiro problema (da falta espaço) é trivial:


Código:
awk 'NR==FNR{_[$1]=$3 FS $6;next}$NF=$NF FS _[$3]' file1 file2

Citação:
[...] e também parm 4 é reduzido para os últimos 2 dígitos
Poderia ser mais específico?

Citação:
É possível formatar o arquivo de forma cada parm começa em uma coluna específica, por exemplo

Parm1 em Col1
Parm2 em Col6
Parm3 em Col12
Parm4 em Col22
Parm5 em Col27
Parm6 em Col30
Parm7 em Col65
Forneça um exemplo, por favor.
  #3 (permalink)  
Old 05-14-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Isso soa como um simples printf especificador.


Código:
awk whatever ... |
awk '{ printf ("%5s%6s%9s%5s%3s%35s%s\n", $1, $2, $3, $4, $5, $6, $7) }'

(Infelizmente, o mal pode ter uma largura de alguns campos. Modificando o script antes de fazer isso é por si só não é provavelmente muito difícil, quer.)

Eu não vejo nada que seria reduzir $ 6 para apenas dois personagens.
  #4 (permalink)  
Old 05-14-2008
Habitante do norte Northerner is offline
Usuário
  
 

Join Date: May 2008
Localização: Sheffield
Lugares: 11
O original tinha o seguinte ficheiro2

0508 2206 LVTS5431 98 1
0506 0920 LVTS5750 141 3

mas o resultado mostra a ficheiro3
0506 0920 LVTS5750 41 3nw_unix_live_dmz_duplex_35_35 NRUCCAE09 MGT -

onde o 141 é truncado para 41

o resultado final que gostaria de ver de modo que cada parm é alligened nas colunas específicas
Começando na coluna
1 6 12 22 27 30 65
0508 0601 LVTS4687 58 1 ltreb_shu1l110 shu1l110

Última edição por habitante do norte, em 05/14/2008 09:51..
  #5 (permalink)  
Old 05-14-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Qualquer que está causando isso não acontece aqui, e é por isso que unlear seria causado por Radoulov do script, mas não altera $ 6. Might seu arquivo de entrada tem sido corrompido em algum ponto?
  #6 (permalink)  
Old 05-14-2008
Habitante do norte Northerner is offline
Usuário
  
 

Join Date: May 2008
Localização: Sheffield
Lugares: 11
Checked do arquivo estão corretos e se o ficheiro de entrada é errado, então eu acho que com a ajuda de Radoulov e Era eu tenho aqui, muito obrigado mesmo.

Última edição por habitante do norte, em 05/14/2008 10:40..
Closed Thread

Marcadores

Tags
solaris

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 03:05.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0