The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
ksh scripting aiutare praveenbvarrier Shell scripting e di programmazione 1 04-15-2008 11:19 AM
script SQL aiutare sam786 Shell scripting e di programmazione 3 12-10-2007 12:31 PM
differenza tra AIX e Unix shell scripting di shell scripting. haroonec Shell scripting e di programmazione 2 04-12-2006 09:12 AM
scripting guru del pls help me con lo scripting su AIX thatiprashant Shell scripting e di programmazione 1 01-20-2006 07:58 PM
Scripting? woofie What's on Your Mind? 1 03-09-2005 07:03 AM

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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 05-14-2008
Settentrionale Northerner is offline
Utente Registrato
  
 

Iscriviti Data: maggio 2008
Località: Sheffield
Interventi: 11
L'output di questo comando è
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

Che non vi è quasi a parte che vi sia alcuno spazio tra parm5 e 6, e anche parm 4 è l'ultima ridotta a 2 cifre. Scuse per la mia ignoranza, ma su questo non ho mai usato "awk" prima. Il file dovrebbe essere simile al seguente

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

E 'possibile formattare il file in modo ogni parm inizia in una colonna specifica, ad esempio

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

Iscriviti Data: gennaio 2007
Ubicazione: Варна, България / Milano, Italia
Messaggi: 2.889
Il primo problema (la mancanza di spazio) è banale:

Codice:
awk 'NR==FNR{_[$1]=$3 FS $6;next}$NF=$NF FS _[$3]' file1 file2
Citazione:
[...] e anche parm 4 è l'ultima ridotta a 2 cifre
Potrebbe essere più specifico?

Citazione:
E 'possibile formattare il file in modo ogni parm inizia in una colonna specifica, ad esempio

Parm1 in Col1
Parm2 in Col6
Parm3 in Col12
Parm4 in Col22
Parm5 in Col27
Parm6 in Col30
Parm7 in Col65
Fornire un esempio, per favore.
  #3 (permalink)  
Old 05-14-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652
Che suona come una semplice printf specifier.

Codice:
awk whatever ... |
awk '{ printf ("%5s%6s%9s%5s%3s%35s%s\n", $1, $2, $3, $4, $5, $6, $7) }'
(Scusa, potrebbe aver calcolato male la larghezza di alcuni campi. Modificare il precedente script per fare questo è di per sé non è probabilmente troppo difficile sia.)

Non vedo nulla che sarebbe ridurre $ 6 a solo due caratteri.
  #4 (permalink)  
Old 05-14-2008
Settentrionale Northerner is offline
Utente Registrato
  
 

Iscriviti Data: maggio 2008
Località: Sheffield
Interventi: 11
L'originale era il seguente file2

0508 2206 LVTS5431 98 1
0506 0920 LVTS5750 141 3

ma l'output in file3 mostra
0506 0920 LVTS5750 41 3nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT

dove la 141 viene troncato a 41

l'output finale che vorrei vedere in modo che ogni parm è alligened nello specifico colonne
A partire nella colonna
1 6 12 22 27 30 65
0508 0601 LVTS4687 58 1 ltreb_shu1l110 shu1l110

Ultima modifica da parte settentrionale; al 05/14/2008 09:51 AM..
  #5 (permalink)  
Old 05-14-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652
Qualunque cosa che sta causando non sta accadendo qui, ed è il motivo per cui unlear sarebbe causato da Radoulov della sceneggiatura, che non altera $ 6. Il vostro file di input possono essere stati danneggiati a un certo punto?
  #6 (permalink)  
Old 05-14-2008
Settentrionale Northerner is offline
Utente Registrato
  
 

Iscriviti Data: maggio 2008
Località: Sheffield
Interventi: 11
Spuntato il file e si è corretto il file di input è sbagliato, perché credo che con l'aiuto di Radoulov e ho Era lì, infatti, molte grazie.

Ultima modifica da parte settentrionale; al 05/14/2008 10:40 AM..
Closed Thread

Segnalibri

Tag
solaris

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 12:54 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0