![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| awk - Counting aantal soortgelijke lijnen | dhanamurthy | Programmeren en Shell Scripting | 8 | 05-16-2008 07:00 |
| Counting aantal gebeurtenissen | kingofprussia | UNIX voor Dummies Questions & Answers | 1 | 04-01-2008 08:11 PM |
| Ik heb hulp nodig bij het tellen van de velden en veld met behulp van scheidingstekens Nawk | scrappycc | Programmeren en Shell Scripting | 3 | 02-06-2008 11:47 PM |
| Counting aantal bestanden in een directory | iamalex | UNIX voor Dummies Questions & Answers | 2 | 09-05-2005 11:13 |
| het tellen van het aantal lijnen | nayeemmz | Linux | 6 | 01-19-2005 12:37 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hulp bij het tellen van het aantal bytes in een veld
Hoi,
Ik heb een bestand dat is 300 records met een belasting van de velden. twee van hen zijn: field_1 heeft tussen 8-9 bytes dwz 012345678, 0123456789 field_2 heeft 10 bytes dwz 01234567890 Ik wil te kunnen echo uit het totaal van elk van deze gebieden namelijk 200 (over 8 tot 9 bytes) 100 (over 10 bytes) niet zeker weet hoe u dit moet doen, ik heb geprobeerd wc-l: RR \u003d "wc-l klant map / bestand in.dat" het bestand in. dat is een spatie in de naam van het bestand? niet zeker of het verschil maakt? Ik kan niet om dit te werk? enige hulp zou appreceiated. |
|
||||
|
Gebruik geen awk helemaal niet zo zeker van hoe dit schrijf?
Ik moet twee variabelen die de output van de 8 -9 byte totaal en 10 byte totale dwz 8-9 \u003d awk '(arr [lengte ($ 1)] + +) END (print "8 - 9 bytes", arr [8] + arr [9]) 'pad voor bestand? 10 \u003d awk '(arr [lengte ($ 2 )]++;) END (print "10 bytes", arr [10]) 'pad voor bestand? Is dit hoe je zou gebruik maken van de oplossing van Jim? ![]() |
|
|||||
|
Het maakt gebruik van associatieve arrays, om te begrijpen hoe associatieve arrays werken in awk, zie dit bericht Kan niet begrijpen associatieve aard van awk arrays Wie draait dit awk script, je hebt om het te gebruiken op dezelfde manier als hij gecodeerd, zijn volgens uw wensen, als je niet weet hoe u deze op opdrachtregel, dan zet het in een aantal shell-script en uitgevoerd dat bestand. Iets als dit: Code:
#! /bin/ksh
awk '{ arr[length($1)]++; arr[length($2)]++; }
END {print "8 - 9 bytes", arr[8]+arr[9], " 10 bytes ", arr[10] } ' file
Bewaar deze shell-script als "test", dan doet u het volgende: Code:
chmod +x test ./test |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|