![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| kombinera fält i två textfält | slätterna | Shell-programmering och Skript | 3 | 01-16-2008 11:27 |
| cut: få antingen ett eller två områden | maxvirrozeito | Shell-programmering och Skript | 3 | 12-17-2007 11:58 |
| Cut Senaste 3 Fields | Bourne | Shell-programmering och Skript | 4 | 01-11-2007 05:17 |
| Senaste områden | Khoomfire | UNIX för avancerade & Expertanvändare | 3 | 04-13-2006 05:03 |
| hur man skär områden | rajan_ka1 | Shell-programmering och Skript | 1 | 12-29-2005 05:55 |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
||||
|
Specificera och ersätta fält med awk
# cat BATCH007.TXT
01,661060052,061000104,081118,0915,07,80,1,2 / 99,,, 2 / Jag har en fil som heter BATCH007.TXT. Jag försöker ändra fält 2 och 3 på linje 2 ha nollor. Så här: 01,661060052,061000104,081118,0915,07,80,1,2 / 99,0,0,2 / Jag kan använda dessa kommandon för att skriva ut identifiera de områden, som sänder tillbaka ett tomt värde, som de ska: head -2 BATCH007.TXT | tail-1L | awk '(FS \u003d","} (print $ 2)' head -2 BATCH007.TXT | tail-1L | awk '(FS \u003d","} (print $ 3)' Jag tror jag är nära. Jag la en g USB till kommandot ovan, men utgången är felaktig: head -2 BATCH007.TXT | 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 Har någon några förslag? |