The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
omdanne en multiline record til én linje anju Shell Programmering og Scripting 9 01-14-2008 07:55 AM
tilføjer mellemrum til første linje er baseret på anden rekord. ammu Shell Programmering og Scripting 2 11-16-2007 03:35 AM
Find et tegn i første linje i en journal bsandeep_80 Shell Programmering og Scripting 14 07-26-2007 12:04 PM
Viser en ekstra record / linje srivsn Filsystemer, disketter og Hukommelse 1 05-06-2006 10:35 AM
udpakning sidste linje i register bjorb Shell Programmering og Scripting 7 10-18-2005 03:12 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 06-05-2008
PacificWonder PacificWonder is offline
Registreret Bruger
  
 

Join Date: Jun 2008
Stillinger: 10
AWK - hvis sidste linje / registrere gøre noget

Hej:

Jeg forsøger at udføre en bestemt handling, hvis det nuværende record er den sidste linje i input-filen. Men jeg er ikke i stand til at regne ud, hvordan den sidste linje i en fil i awk.

Jeg er nødt til at gøre noget lignende dette:
awk '(if (lastline \u003d\u003d NR) gøre noget)' myfile.txt

Jeg har forsøgt følgende i en Korn Shell script.

lastRec \u003d `wc-l myfile.txt | awk '(print $ 1)'`
print $ lastRec

awk-v aLastRec \u003d "$ lastRec" '(if (NR \u003d\u003d $ aLastRec) udskrive NR ": Dette er den sidste record!")'


Men jeg kunne ikke få det til at anerkende $ lastRec eller $ aLastRec.

Kan du hjælpe?

Tak.
  #2 (permalink)  
Old 06-05-2008
rubin's Avatar
Rubin rubin is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Nov 2007
Stillinger: 321
Du kan bruge SLUT erklæring for at få adgang til sidste referat af fil:


Code:
awk  'END{ print "this is the last line :  ", $0, "  | and NR  is -> " NR, "do something else here..." }' myfile.txt

Og ikke bruger $ tegnet inde awk:


Code:
lastRec=`awk 'END{print NR}' myfile.txt`

awk -v aLastRec="$lastRec" '{if (NR == aLastRec) ... }' myfile.txt

  #3 (permalink)  
Old 06-05-2008
PacificWonder PacificWonder is offline
Registreret Bruger
  
 

Join Date: Jun 2008
Stillinger: 10
Kølig. Jeg overset $ fejl i awk del af script. Din foreslåede løsning virker! Mange tak for din hjælp Rubin.
  #4 (permalink)  
Old 06-06-2008
danmero danmero is offline Forum Advisor  
  
 

Join Date: Nov 2007
Beliggenhed: 45.48-73.63
Indlæg: 1.439
Halen kan gøre jobbet her

Code:
test `tail -1 data.file`=="pattern" && echo OK || echo NOK

Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 05:40 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0