The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



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 Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 01-28-2008
smr_rashmy smr_rashmy is offline
Registered User
  
 

Join Date: Sep 2007
Inlägg: 38
Behöver du hjälp i awk

Hej Frnds,

Jag har en textfil confdate.txt med följande format.

From_Date 12-02-2007
To_Date 12-03-2007

Nu har jag två variabler säga new_todate, new_fromdate i mitt shell script som innehåller två nya datum, och jag vill uppdatera datum i lägenheten fil som motsvarar kolumnen använda awk.

Kan du ge mig lite input om detta?

Tack på förhand.
- Raja.
  #2 (permalänk)  
Old 01-29-2008
dennis.jacob dennis.jacob is offline Forum Advisor  
dj -------
  
 

Join Date: februari 2007
Ort: Singapore / Bangalore / Cochin
Inlägg: 573
Du kan prova så här:

Kod:
sed -e 's/From_Date\(.*\)/From_Date '$new_fromdat'/'  -e 's/To_Date\(.*\)/To_Date '$new_todat'/'   filename
  #3 (permalänk)  
Old 01-29-2008
dennis.jacob dennis.jacob is offline Forum Advisor  
dj -------
  
 

Join Date: februari 2007
Ort: Singapore / Bangalore / Cochin
Inlägg: 573
Använda awk: $ x och $ y är de nya värdena som skall fastställas

Kod:
awk -v new_from_dat=$x -v new_to_dat=$y '{if( $1 ~ /From_Date/) print $1" "new_from_dat; if ( $1 ~ /To_Date/) print $1" "new_to_dat; }' file_name
  #4 (permalänk)  
Old 01-29-2008
smr_rashmy smr_rashmy is offline
Registered User
  
 

Join Date: Sep 2007
Inlägg: 38
Kan ni förklara mig både när du hittar Temne?

hej det fungerar inte dig.

$ Dt \u003d `date-u +% d-% m-% Y"
$
$ Echo $ dt
29-01-08
$
$ Cat tst.txt
Datum 12-01-08
$
$ Awk-v dat \u003d $ DT-v '(if ($ 1 ~ / Datum /) print $ 1 "" dat;) "tst.txt
Användning: awk [F fs] [-v Uppdrag] [-f Progfile | Program] [Kontraktsöverlåtelse | Arkiv] ...
$
$ sed -e 's / Datum \ (.* \) / Datum' $ dt "/" tst.txt
Datum 29-01-08
$ Cat tst.txt
Datum 12-01-08
$

vad är det för fel på min?

Senast redigerad av smr_rashmy; 01-29-2008 vid 01:11..
  #5 (permalänk)  
Old 01-29-2008
dennis.jacob dennis.jacob is offline Forum Advisor  
dj -------
  
 

Join Date: februari 2007
Ort: Singapore / Bangalore / Cochin
Inlägg: 573
Citat:
Ursprungligen postat av smr_rashmy View Post
Kan ni förklara mig både när du hittar Temne?

hej det fungerar inte dig.

$ Dt \u003d `date-u +% d-% m-% Y"
$
$ Echo $ dt
29-01-08
$
$ Cat tst.txt
Datum 12-01-08
$
$ Awk-v dat \u003d $ dt -v '(if ($ 1 ~ / Datum /) print $ 1 "" dat;) "tst.txt
Användning: awk [F fs] [-v Uppdrag] [-f Progfile | Program] [Kontraktsöverlåtelse | Arkiv] ...
$
$ sed -e 's / Datum \ (.* \) / Datum' $ dt "/" tst.txt
Datum 29-01-08
$ Cat tst.txt
Datum 12-01-08
$

vad är det för fel på min?

Varför du har använt-v där? Dessutom, om du vill att dessa ändringar skrivs till en fil måste du använda "> new_filename" i slutet ...

dvs sed -e 's / Datum \ (.* \) / Datum' $ dt "/" tst.txt> temp_new_file
  #6 (permalänk)  
Old 01-29-2008
smr_rashmy smr_rashmy is offline
Registered User
  
 

Join Date: Sep 2007
Inlägg: 38
fortfarande inte uppdaterad frnd,

$ Dt \u003d `date-u +% d-% m-% Y"
$
$ Echo $ dt
29-01-08
$
$ Cat tst.txt
Datum 12-01-08

$
$ Awk-v dat \u003d $ dt '(if ($ 1 ~ / Datum /) print $ 1 "" dat;) "tst.txt
Datum 29-01-08
$
$
$ katt tst.txt
Datum 12-01-08

$
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




Alla tider är GMT -4. Klockan är nu 02:24.


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-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0