The meaning of %s in printf


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers The meaning of %s in printf
# 1  
Old 05-06-2010
The meaning of %s in printf

I have this command like that has %s in it, I know %s calls a column, but I am not sure I understand which column (I mean for my case I can check the input file, but I want to know how is this %s used, how comes tha same symbo; gives different columns in one command line:

Code:
{printf "grep %s junk.all.dat | awk '$4<=%s{print $1, $2, $3, $4, $5}' | wc -l >> fitnumb.dat\n"}

Each %s give a different column in the output:

Code:
grep 3a junk.all.dat | awk '$4<=157.951{print $1, $2, $3, $4, $5}' | wc -l >> fitnumb.dat
grep 7a junk.all.dat | awk '$4<=118.793{print $1, $2, $3, $4, $5}' | wc -l >> fitnumb.dat
grep 9a junk.all.dat | awk '$4<=133.435{print $1, $2, $3, $4, $5}' | wc -l >> fitnumb.dat

Any idea how this %s works?

Last edited by Scott; 05-07-2010 at 05:44 PM.. Reason: More code tags
# 2  
Old 05-06-2010
That is the "string" modifier. For details use:

Code:
man printf

# 3  
Old 05-06-2010
I checked both man printf and info printf , but I didn't get the answer Smilie
# 4  
Old 05-06-2010
%s is one of various modifiers available to printf and similar formatting programs. It represents a 'word' or a string between white spaces.
# 5  
Old 05-07-2010
Quote:
Originally Posted by curleb
%s is one of various modifiers available to printf and similar formatting programs. It represents a 'word' or a string between white spaces.
I have researched more about %s in printf but I didn't find much, the only explanation I get is: (%s The maximum number of characters to prin). But I don't really know what it means.
As I mentioned in my first post what confuses me the most is that we use %s in the same command line but get different output for each. Any idea why? Smilie
# 6  
Old 05-07-2010
Quote:
Originally Posted by cosmologist
As I mentioned in my first post what confuses me the most is that we use %s in the same command line but get different output for each. Any idea why? Smilie
See here for a good explanation of printf. On that page, click on the "Control Modifiers" link to see a good explanation on how %s works.

Maybe the reason you get different output for each command is because you use a different input file? Smilie

HTH
# 7  
Old 05-07-2010
Quote:
{printf "grep %s junk.all.dat | awk '$4<=%s{print $1, $2, $3, $4, $5}' | wc -l >> fitnumb.dat\n"}
I assume the above is part of the shell script. Is that right? Not awk/perl or anything else.
If that's the case, could show a sample 'junk.all.dat' file, pls?
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Meaning of $1^

Hello everyone, I'm looking for the meaning of this expression, as I don't understand it quite clearly : $1^ What do you think it could be? I thought either: - match lines starting with argument 1 but it should be ^$1 - turn line around : word becomes drow Thanks in advance for your... (4 Replies)
Discussion started by: bibelo
4 Replies

2. Shell Programming and Scripting

Meaning

Please let me know the meaning for the below statements in shell scripting. 1) exit -99 -------------------------------- 2) set prgdir = `pwd` set runFlag = runFlag:FALSE ------------------------------------- 3) if (-f $prgdir/maillst.eml) then set distEmail = `cat $prgdir/maillst.eml`... (1 Reply)
Discussion started by: lg123
1 Replies

3. UNIX for Dummies Questions & Answers

meaning of <<!

Hi all, I wanna know the meaning of the last word "<<! " sudo su - user <<! please help on this !!!! (1 Reply)
Discussion started by: sudharson
1 Replies

4. Shell Programming and Scripting

^$$ meaning

Hi , Can anyone please let me know whta the follwoing piece of code for ScriptName=${0##*/} if pgrep -f "$ScriptName" | grep -v "^$$\$" ; then echo `date`": Sctipt $ScritName is already runnig" exit fi Thnx a lot in advance Please use code tags when posting data and code... (8 Replies)
Discussion started by: Pratik4891
8 Replies

5. Shell Programming and Scripting

meaning of !*

can someone please tell what !* means in shell syntax. Regards, (3 Replies)
Discussion started by: busyboy
3 Replies

6. Shell Programming and Scripting

What is the meaning of $_

Hi, Can somebody tell the usage of "$_" cd $_ ? and ls $_ ? (4 Replies)
Discussion started by: giri_luck
4 Replies

7. UNIX for Dummies Questions & Answers

what the meaning of #*

can some one please tell the meaning of the second statement i.e n=${m#*=} i couldnt get the meaning of the #*= 1.) m="mohit=/c/main/issue" echo $m result ----------- mohit=/c/main/issue 2.) n=${m#*=} echo $n RESULT ------- /c/main/issue (1 Reply)
Discussion started by: narang.mohit
1 Replies

8. UNIX for Dummies Questions & Answers

Use and meaning of $*

Can someone explain the use and meaning of "$*" expression. (2 Replies)
Discussion started by: sinpeak
2 Replies

9. AIX

meaning of ${0%${0##*/}}

. ${0%${0##*/}}Script_Name if i issue this command, it is executing the script. can any one tell what is the meaning of ${0%${0##*/}} (7 Replies)
Discussion started by: nyelavarthy
7 Replies

10. Shell Programming and Scripting

what is the meaning here?

#!/bin/sh $ORACLE_HOME/bin/sqlplus -S $orauserid/$orapasswd@$oradb << _TMP alter session set nls_date_format = 'YYYYMMDD HH24:MI'; set linesize 100 set pagesize 400 ok the above is part of a script..i just wanna know what does sqlplus -S means?? as in why we need to insert the -S behind? (2 Replies)
Discussion started by: forevercalz
2 Replies
Login or Register to Ask a Question