It's best not to use printf that way, since character sequences that are special to printf (format specifiers, escape sequences) will be misinterpreted and lead to mangled output. To print the value of a variable, it's best to use:
Example of how things would go wrong:
Using the printf(1) utility, this is nothing but a minor bug. Using the printf(3) function in the C standard library, this would be a HUGE security hole.
Here is the code I'm using
{
printf("%11d %4.2f\% %4.2f\%\n", $1,$2,$3);
}
I want the output to look something like
1235415234 12.24% 52.46%
Instead it looks something like
319203842 42.27\%4.2f\%
How do I just print a "%" without awk or printf thinking I'm trying to do... (1 Reply)
I am trying to use printf with a character string that is used within a do loop. The problem is that while in the loop, the printf prints the variable name instead of the value. The do loop calls the variable name from a text file (called device.txt):
while read device
do
cat $device.clean... (2 Replies)
Hi I'm having a problem with converting a file:
ID X
1 7
1 8
1 3
2 5
2 7
2 2
To something like this:
ID X1 X2 X3
1 7 8 3
2 5 7 2
I've tried the following loop:
for i in `cat tst.csv| awk -F "," '{print $1}'| uniq`;do grep -h $i... (4 Replies)
Hi Friends,
I am trying to insert lines of the below format in a file:
# x3a4914 Joe 2010/04/07
# seh Lane 2010/04/07
# IN01379 Larry 2010/04/07
I am formatting the strings as follows using awk printf:
awk 'printf "# %s %9s %18s\n", $2,$3,$4}'
... (2 Replies)
hallow all i need your advice about this script
i have script like this:
INDEX=/zpool1/NFS/INDEX/${1}
SCRIPT=/zpool1/NFS/script/${1}
LIST=SAMPLE
cd ${SCRIPT}
for i in `cat ${LIST}`
do
GETDATE=`echo ${i}|awk '{print substr($1,9,8)}'`
/usr/xpg4/bin/awk -F ":" '{close(f);f=$4}{print >>... (4 Replies)
Hi,
Struggling with single quotes, double quotes, etc.
I want to print a header line, followed by lines with actual values, based on a print option.
In real life it is going to be something like 15 print options and 50 values.
Output will be 1 header and several value lines.
In this example... (5 Replies)
Is possible to print padded string in printf?
Example
echo 1 | awk '{printf("%03d\n", $1)}'
001I want
S1
S11
S2
S21to be padded as:
S01
S11
S02
S21Thanks! (26 Replies)
Discussion started by: yifangt
26 Replies
LEARN ABOUT MOJAVE
seq
SEQ(1) BSD General Commands Manual SEQ(1)NAME
seq -- print sequences of numbers
SYNOPSIS
seq [-w] [-f format] [-s string] [-t string] [first [incr]] last
DESCRIPTION
The seq utility prints a sequence of numbers, one per line (default), from first (default 1), to near last as possible, in increments of incr
(default 1). When first is larger than last the default incr is -1.
All numbers are interpreted as floating point.
Normally integer values are printed as decimal integers.
The seq utility accepts the following options:
-f format Use a printf(3) style format to print each number. Only the E, e, f, G, g, and % conversion characters are valid, along with
any optional flags and an optional numeric minimum field width or precision. The format can contain character escape sequences
in backslash notation as defined in ANSI X3.159-1989 (``ANSI C89''). The default is %g.
-s string Use string to separate numbers. The string can contain character escape sequences in backslash notation as defined in ANSI
X3.159-1989 (``ANSI C89''). The default is
.
-t string Use string to terminate sequence of numbers. The string can contain character escape sequences in backslash notation as
defined in ANSI X3.159-1989 (``ANSI C89''). This option is useful when the default separator does not contain a
.
-w Equalize the widths of all numbers by padding with zeros as necessary. This option has no effect with the -f option. If any
sequence numbers will be printed in exponential notation, the default conversion is changed to %e.
The seq utility exits 0 on success and non-zero if an error occurs.
EXAMPLES
# seq 1 3
1
2
3
# seq 3 1
3
2
1
# seq -w 0 .05 .1
0.00
0.05
0.10
SEE ALSO jot(1), printf(1), printf(3)HISTORY
The seq command first appeared in Plan 9 from Bell Labs. A seq command appeared in NetBSD 3.0, and ported to FreeBSD 9.0. This command was
based on the command of the same name in Plan 9 from Bell Labs and the GNU core utilities. The GNU seq command first appeared in the 1.13
shell utilities release.
BUGS
The -w option does not handle the transition from pure floating point to exponent representation very well. The seq command is not bug for
bug compatible with the Plan 9 from Bell Labs or GNU versions of seq.
BSD February 19, 2010 BSD