![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| dans deux domaines en combinant les champs de texte | shocker | De programmation et de script Shell | 3 | 01-16-2008 11:27 AM |
| cut: obtenir un ou deux champs | maxvirrozeito | De programmation et de script Shell | 3 | 12-17-2007 11:58 AM |
| Last Cut 3 Domaines | bourne | De programmation et de script Shell | 4 | 01-11-2007 05:17 AM |
| Dernière domaines | Khoomfire | UNIX for Advanced & Expert Users | 3 | 04-13-2006 06:03 PM |
| comment couper les champs | rajan_ka1 | De programmation et de script Shell | 1 | 12-29-2005 05:55 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Spécification et le remplacement de champs avec awk
# cat BATCH007.TXT
01,661060052,061000104,081118,0915,07,80,1,2 / 99,,, 2 / J'ai appelé ce fichier BATCH007.TXT. Je tente de changer les champs 2 et 3 sur la ligne 2 de zéros. Comme ceci: 01,661060052,061000104,081118,0915,07,80,1,2 / 99,0,0,2 / Je peux utiliser ces commandes pour l'impression d'identifier les domaines, qui renvoient une valeur vide, comme ils devraient: -2 tête BATCH007.TXT | tail-1l | awk '(FS \u003d","} (print $ 2)' -2 tête BATCH007.TXT | tail-1l | awk '(FS \u003d","} (print $ 3)' Je crois que je suis proche. J'ai ajouté une gusb à la commande ci-dessus, mais le résultat est incorrect: -2 tête 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 Quelqu'un at-il des suggestions? |
|
||||
|
Salut, Je ne sais pas exactement ce que vous essayez de faire, mais si vous voulez changer la ligne 2 de votre dossier, cela devrait être suffisant: Code:
sed "/^99/s/,,,/,0,0,/g" file Ce qui veut dire: aller à la ligne commençant par 99 et sur cette ligne trois kommas substituer à la ligne par 0,0, HTH Chris |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|