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
che unisce due campi in campi di testo shocker Shell scripting e di programmazione 3 01-16-2008 11:27 AM
cut: avere uno o due campi maxvirrozeito Shell scripting e di programmazione 3 12-17-2007 11:58 AM
Ultimi 3 Campi Cut bourne Shell scripting e di programmazione 4 01-11-2007 05:17 AM
Ultimo campi Khoomfire UNIX e avanzata per utenti esperti 3 04-13-2006 06:03 PM
come tagliare i campi rajan_ka1 Shell scripting e di programmazione 1 12-29-2005 05:55 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 11-18-2008
ddurden7 ddurden7 is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2008
Interventi: 5
Definizione e sostituire i campi con awk

# cat BATCH007.TXT
01,661060052,061000104,081118,0915,07,80,1,2 /
99,,, 2 /

Ho chiamato questo file BATCH007.TXT. Sto cercando di cambiare i campi 2 e 3 sulla linea 2 sono a zero. Come questo:
01,661060052,061000104,081118,0915,07,80,1,2 /
99,0,0,2 /

Sono in grado di usare i comandi di stampa per individuare i campi, che restituisce un valore vuoto, come si dovrebbe:
BATCH007.TXT testa -2 | tail-1l | awk '(FS \u003d","} (print $ 2)'
BATCH007.TXT testa -2 | tail-1l | awk '(FS \u003d","} (print $ 3)'

I think I'm stretta. Ho aggiunto un gusb al comando precedente, ma il risultato non è corretto:

BATCH007.TXT testa -2 | tail-1l | awk-F "," '(gsub ($ 2, "0"); print)' BATCH007.TXT> D.new

$ cat D.new
01,661060052,0,081118,0915,07,80,1,2 /
09090,0,0,020 / 0

Qualcuno ha qualche suggerimento?
  #2 (permalink)  
Old 11-18-2008
insamniac insamniac is offline
Utente Registrato
  
 

Join Date: Aug 2006
Interventi: 14
guarda a me come a casa
  #3 (permalink)  
Old 11-19-2008
Christoph Spohr Christoph Spohr is offline
Utente Registrato
  
 

Iscriviti Data: Sep 2008
Interventi: 205
Salve,

Non so esattamente che cosa si sta tentando di fare, ma solo se si desidera cambiare la linea 2 di voi il file, questo dovrebbe essere sufficiente:

Codice:
sed "/^99/s/,,,/,0,0,/g" file
Il che significa: vai alla linea di partenza con 99 e su questa linea di sostituire tre kommas in fila da 0,0,

HTH Chris
Closed Thread

Segnalibri

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 è 09:38 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