![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
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? |
|
||||
|
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 HTH Chris |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|