Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
Google Site



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.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 07-14-2005
Registered User
 

Join Date: Jul 2005
Inlägg: 1
awk / bash globbing fråga

Jag skulle vilja behandla en lista med filer som matchar: GPS * \. Xyz med awk script. Sedan skulle jag vilja mata ut filer till GPS * \. Xyz.out (exempelvis samma filnamn till med. Out). Ungefär:

Kod:
awk '{if(NR==1) {offset=-$1}; $1=$1+offset; print }' GPS*.xyz

Detta gör exakt vad jag vill UTOM styra produktionen på lämpligt sätt. Jag försökte

Kod:
awk '{ ... print > FILENAME.out}' GPS*.xyz
and
awk '{...}' GPS*.xyz > GPS*.xyz.out

men som väntat det fungerade inte.

Jag inser att omsätta detta i:
Kod:
for f in ls GPS*.xyz

loop skulle fungera som jag behöver men jag skulle vilja en elegant lösning som jag kan lära av.

Suggestions?

Skål,
Brandon Franzke
Sponsrade länkar
  #2 (permalänk)  
Old 07-14-2005
Registered User
 

Join Date: Jul 2005
Inlägg: 137
Citat:
Ursprungligen postat av franzke
Jag skulle vilja behandla en lista med filer som matchar: GPS * \. Xyz med awk script. Sedan skulle jag vilja mata ut filer till GPS * \. Xyz.out (exempelvis samma filnamn till med. Out). Ungefär:

Kod:
awk '{if(NR==1) {offset=-$1}; $1=$1+offset; print }' GPS*.xyz

Eftersom du läser flera filer, NR förmodligen bör Bildrutnr:

Kod:
awk 'FNR==1 {offset=-$1;next} {$1+=offset; print >FILENAME".out"}' PS*.xyz

  #3 (permalänk)  
Old 07-14-2005
r2007's Avatar
Registered User
 

Join Date: juni 2005
Ort: Kina
Inlägg: 73

Kod:
awk 'FNR==1 {offset=-$1;if(NR>1) close(of);of=FILENAME".out"} {$1+=offset; print >of}' GPS*.xyz

  #4 (permalänk)  
Old 07-15-2005
Registered User
 

Join Date: Jul 2005
Inlägg: 137
Citat:
Ursprungligen postat av futurelet
Eftersom du läser flera filer, NR förmodligen bör Bildrutnr:

Kod:
awk 'FNR==1 {offset=-$1;next} {$1+=offset; print >FILENAME".out"}' PS*.xyz

close () kan behövas för att undvika att ha för många filer öppna.

Kod:
awk 'FNR==1 {offset=$1;close(f);f=FILENAME".out";next}{$1-=offset; print >f}' GPS*.xyz

Den nästa är där eftersom jag antar att du inte vill att linje med offset som skall tryckas.
Sponsrade länkar
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är Av


Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
en fråga för bash shell script zx1106 Shell-programmering och Skript 9 03-10-2008 12:40
Bash scripting fråga är: newlines retrovertigo Shell-programmering och Skript 4 07-06-2007 01:44
Globbing snedstreck Wildcarding Fråga scotbuff Shell-programmering och Skript 4 02-02-2007 12:10
Quick Newbie bash fråga redsand9009 Shell-programmering och Skript 4 01-25-2007 03:44
KLÅ shell script fråga ewarmour Shell-programmering och Skript 3 05-24-2002 06:10



Alla tider är GMT -4. Klockan är nu 10:11.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2010. All Rights Reserved.Ad Management by RedTyger

Content Relevant webbadresser från vBSEO 3.2.0