help with printf command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help with printf command
# 1  
Old 05-06-2012
help with printf command

hello,


I'm trying to display Unix variable using printf command.

Code:
Code:
 
awk '{ if ( $0 ~ /string/ ) {
printf( "%s\n%s\n",$0,"dsd"); #this one works
printf( "%s\n%s\n",$0,$HOME); #this does not work
} else {
print $0;
}
}' param1_1.txt

I could use here echo command but I'm not sure how to use it properly.

I mean "properly" because the intention of this code is to serach for a particular string in a code and then when the string is found then a specific variable should be displaied in the next line after the string.



with simple text I can achieve this but not with variable.
Does anyone know how to correct this?
# 2  
Old 05-06-2012
You're trying to access a shell variable from awk. You need to pass these to awk with -v "awkvar=$shellvar"

so your example would be:
Code:
awk -v "home=$HOME" '
{
  if ( $0 ~ /string/ ) {
    printf( "%s\n%s\n",$0,"dsd"); #this one works
    printf( "%s\n%s\n",$0,home); #this should now work
  } else {
    print $0;
  }
}' param1_1.txt

# 3  
Old 05-06-2012
Is this homework?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell Printf command , a little more dynamic..

A big hello to everyone tagged to this site of knowledge . This is the first post of mine and I am looking forward to an enjoyable stint in this forum where I get to know a lot of new ideas and share whatever knowledge (its not much though :) ) I have acquired throughout my career so far with... (4 Replies)
Discussion started by: kumarjt
4 Replies

2. Shell Programming and Scripting

What's the difference between print and printf in command?

For example, in this command: ls /etc/rc0.d/ -print ls /etc/rc0.d/ -printfThe outputs are quite different, why? (7 Replies)
Discussion started by: Henryyy
7 Replies

3. Shell Programming and Scripting

AWK printf command question

Hi, I am using below awk code to convert a csv file data into fixed file format. awk 'BEGIN { FS = "," fmt = "%10s%010d%10s%d%1d\n" } NR>1 { printf fmt, $1, $2, $3, $4*100, $5 }' /data/mydata.csv > /data/fixed.dat Data in mydata.csv ================... (2 Replies)
Discussion started by: kbmkris
2 Replies

4. UNIX for Dummies Questions & Answers

AWK printf command question

Hi, I am using below awk code to convert a csv file data into fixed file format. awk 'BEGIN { FS = "," fmt = "%10s%010d%10s%d%1d\n" } NR>1 { printf fmt, $1, $2, $3, $4*100, $5 }' /data/mydata.csv > /data/fixed.dat Data in mydata.csv ================... (1 Reply)
Discussion started by: kbmkris
1 Replies

5. Shell Programming and Scripting

Printf command

Hi, I a sequance number from 1-999 and i want asing the value like 001,002..999 Exp: file_001 file_002 file_003... file_999 How can i disaplay the sequnace number as mention above. (3 Replies)
Discussion started by: koti_rama
3 Replies

6. UNIX for Dummies Questions & Answers

Printf unix command

Where would I get a good explanation for all the possibities when using the "printf" unix commmand. (14 Replies)
Discussion started by: 1184jap
14 Replies

7. Shell Programming and Scripting

the printf command

hello, Im at another part of the program i am writing. Where i think i'm going to need to use the printf command. If anyone can help me figure out the printf layout i would greatly appreicate it. thanks (4 Replies)
Discussion started by: bebop1111116
4 Replies

8. Shell Programming and Scripting

printf command in ksh

Hi, I am very confused with my printf command. Somehow one variable can't line up with others... newstart2 ="Mon Nov 11 01 00:00:00 2002" printf "%-20s" $newstart2 Here is the output: Mon Nov 11 01 00:00:00 2002 It spread out to two lines.. Why? (1 Reply)
Discussion started by: cin2000
1 Replies

9. Shell Programming and Scripting

need help with printf command

Hi How could I use the command printf to display a big file. So ex. I've a script with some variables like: V1=358504 V2=FD0147 V3=dev5 V4=94577 V5=0 V6=UNIX V7=Policy V8=server V9=04/15/05 V10=19:18:41 V11=2341321467 while read V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 do printf "\n%s %s %s... (1 Reply)
Discussion started by: nymus7
1 Replies

10. Shell Programming and Scripting

printf command

I want to make a logfile with error messages, like this: (collumms: CUSTNR DATE TIME ERROR MESSAGE) 102 20020807 135417 1 Uptime server is more than 6 months 5 20020808 111335 3 Backup not Ok! 2001 20020808 120428 6 Free space at server1 is less than 20% etcetera I... (2 Replies)
Discussion started by: FIRE
2 Replies
Login or Register to Ask a Question