The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Advanced & Expert Users
Google UNIX.COM


UNIX for Advanced & Expert Users Advanced UNIX and Linux questions go here. Expert-to-Expert.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
how to access values of awk/nawk variables outside the awk/nawk block? saniya Shell Programming and Scripting 5 05-13-2008 04:37 AM
How to use awk instead of nawk? kinmak UNIX for Dummies Questions & Answers 2 05-07-2008 01:34 AM
nawk/ksh help DeltaX Shell Programming and Scripting 0 03-06-2008 11:54 AM
nawk -v to awk kamel.seg Shell Programming and Scripting 2 12-18-2007 03:30 AM
nawk whatisthis Shell Programming and Scripting 3 09-29-2004 10:44 AM

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-01-2008
Registered User
 

Join Date: Aug 2006
Location: AR
Posts: 15
nawk & awk

###----------------------TEST FOR $ Value------------------------
sort $RTF 2>>$LOG | nawk -F\| '\
{
for( i=1; i<=NF; ) {
if( i == NF )
{
amt=substr($i,1,1) #$ value
if (amt == /^ *[0-9] /)
printf( "$%s\n", $i );
else
printf( "%s\n", $i );
}
else
printf( "%s|", $i );
i++;
}
}' >$RFF 2>>$LOG
###---------------------------------------------------------------

I need an actual $ symbol in front of the value that is stored in NF (last value after the pipe. I tried both awk & nawk & it would not give me the result.
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 05-01-2008
vgersh99's Avatar
Moderator
 

Join Date: Feb 2005
Location: Boston, MA
Posts: 2,999
it's somewhat difficult what you're trying to do - seems that you already have '$' in the last field.

Could you post a sample input and a desired output, pls!
pls use vB Codes when posting samples.
Reply With Quote
  #3 (permalink)  
Old 05-01-2008
Registered User
 

Join Date: Aug 2006
Location: AR
Posts: 15
ITEM67|WFLX|39.99
ITEM68|WGEN|new
ITEM72|WGEN|new
ITEM73|WGEN|new
ITEM75|WGEN|new
ITEM76|WGEN|new
ITEM78|WFLX|39.99
ITEM80|WGEN|new
ITEM83|WGEN|new
ITEM84|WFLX|44.99
ITEM85|WFLX|39.99

so if there is only a 39.99 or 44.99 I want it to have a '$' sign in front.
Reply With Quote
  #4 (permalink)  
Old 05-01-2008
Moderator
 

Join Date: Feb 2007
Posts: 1,665
Once again, post a sample input anda desired output.
Reply With Quote
  #5 (permalink)  
Old 05-01-2008
vgersh99's Avatar
Moderator
 

Join Date: Feb 2005
Location: Boston, MA
Posts: 2,999
nawk -F'|' -v OFS='|' -f sd.awk myFile.txt

sd.awk:
Code:
$NF ~ "^[0-9.][0-9.]*$" { $NF = "$" $NF }
1
Reply With Quote
  #6 (permalink)  
Old 05-05-2008
Registered User
 

Join Date: Aug 2006
Location: AR
Posts: 15
Thanks a lot. That worked.
Reply With Quote
Google UNIX.COM
Reply

Thread Tools
Display Modes




All times are GMT -7. The time now is 07:02 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0