![]() |
|
|
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 |
| Hoe krijg ik volgende output in perl | email-lalit | Programmeren en Shell Scripting | 1 | 08-08-2008 02:20 PM |
| Stel een variabele uit awk-uitgang | Cranie | UNIX voor Dummies Questions & Answers | 3 | 10-11-2007 10:39 |
| Voor het opslaan van de output in een variabele | Sudhakar333 | Programmeren en Shell Scripting | 2 | 07-10-2007 09:45 |
| hoe de output awk aan een variabele | bashirpopal | UNIX voor Dummies Questions & Answers | 4 | 04-02-2003 12:02 |
| Saving Perl scrpits in een UNIX Shell | hagrid | UNIX voor Dummies Questions & Answers | 3 | 06-21-2001 01:42 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Het opslaan van de output van awk in een perl variabele
Hoe zou ik awk uitvoer naar een perl variabele? Bijvoorbeeld, ik wil om de waarde in de 4de kolom in de variabele genaamd test. Mijn beste gok is iets als volgt, maar ik ben er zeker van dat dit niet juist is. Code:
$test = system("awk '/NUMBER/{print \$4}' $_");
|
|
||||
|
Citaat:
Bewaart de 4de kolom waarde in perl, Code:
my @arr = split(/\|/, $var); print $var[3]; Is dat wat u bedoelde? |
|
||||
|
Ik wil zoeken voor een aantal gevonden in de 4e kolom op een bepaalde lijn in een bestand en bewaar die waarde in een variabele. Dit bestand bevat meer dan 7000 lijnen van gegevens. De specifieke lijn Ik ben op zoek naar de letters "OXT 'Dit is waarom ik zat te denken van het gebruik van awk bij het vinden van de lijn die' OXT 'en vervolgens pak het getal uit de 4de kolom van die lijn alleen. Zou dat werken met split?
|
|
|||||
|
Hij is de verwerking van een bestand opgeslagen in $ _. Voor dat de awk one-liner oogt mooier. Maar het zou normaal gesproken worden vervangen door: Code:
my @test;
if (open(FOO,$_)) {
while ($_=<FOO>) {
push @test,(split)[4];
}
}
$test=join(" ",@test);
|
|
|||||
|
Absoluut. Bent u op zoek naar precies een regel, of meer? Zijn de kolommen gescheiden door spaties? Ervan uitgaande dat 'ja' tegen alle antwoorden hierboven: Code:
my $target;
if (open(FOO,$_)) {
while ($_=<FOO>) {
next unless /OXT/; # find OXT anywhere in line.
$target=(split)[4];
last;
}
close(FOO); # forgot this last time, though not really necessary.
}
# 4th field in $target
|
|
||||
|
Dat zal alleen kiezen uit het eerste exemplaar, dat wel. De oorspronkelijke awk script zou terugkeren alle overeenkomende lijnen. Niet moeilijk om te werken rond als je weet dat elke Perl, Alleen de vermelding in het geval u nieuw bent bij deze.
Laatst gewijzigd door tijdperk; op 10.09.2008 05:44.. Reden: ten eerste, niet de laatste voorval (gemiste dat - dankzij otheus) |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|