Visit Our UNIX and Linux User Community


Formatting Output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Formatting Output
# 1  
Old 05-01-2008
Formatting Output

Hi

I tried running the below
awk 'BEGIN { printf ("%s %-51s %s %-7s %s",$var1,$var2,$var3,$var4,$var5)}'

from the command prompt and it is not working.

Getting the error
awk: Field $() is not correct.
The source line number is 1.

Actually my requirement is to form a string based on a particular format.
The format i have mentiioned above.
But in UNIX script i am not able to do the formatting.

Let me know if you have any clues.

Regards
Dhanamurthy
# 2  
Old 05-01-2008
Try var1, var2, var3, ... instead. $var1 means "the field whose position is stored in var1[/b], but since you have not even read any records yet it is meaningless.

Unlike perl and shells, awk does not require its variables to be prefixed by $.

Annihilannic.
# 3  
Old 05-02-2008
Formatted Output

Hi
I have the values stored in all the variables

var1="ONE"
var2="TWO"
-----
-----
----

i tried this

awk 'BEGIN { printf ("%s %s",var1,var2) }'

Even then i don;t see any output coming.

My aim is to form a string in a format required

If there is any other way also please let me know


Regards
# 4  
Old 05-02-2008
You have to pass the variables to awk
Code:
awk -v var1=$var1 -v var2=$var2 'BEGIN { printf ("%s %s\n",var1,var2) }'

# 5  
Old 05-02-2008
Just use printf on its own, not through awk, e.g...
Code:
var1="ONE"
var2="TWO"
-----
-----
----
printf '%s %-51s %s %-7s %s\n' $var1 $var2 $var3 $var4 $var5

# 6  
Old 05-02-2008
Formatting output

Hi
I checked with printf
and it is formatting but did;t not completely..

var1="CTCT 0001000Y"

I have the blank between CTCT and 0001000Y


It is giving the output like the below

CTCT 0001000Y $
The space is extended between CTCT and 0001000Y.
Is there any option that i need to choose for this

Regards
Dhana
# 7  
Old 05-02-2008
Formatting output

Hi
My previous reply does not give the actual output
Please find the space between CTCT and 0001000 which is not correct.
CTCT 0001000Y

Please help

Regards
Dhana

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Formatting the Output

Hi, I am trying to use printf command and format certain output in a specific format as under: While the left side (upto |) of the above format is part of a fixed header function, the right side is where i am expecting data to be printed. However, as seen, Row1 value is reflecting on last... (5 Replies)
Discussion started by: EmbedUX
5 Replies

2. AIX

Help Formatting Output

I am using FORTRAN 90 on AIX 5.3 and need to output my data to a tab-delimited file. It must have actual tabs, and I cannot figure out a way to make it work. The resulting file will be imported into another application (quickbooks) as an .iif file....for some reason, it needs the tabs; spaces do... (2 Replies)
Discussion started by: KathyB148
2 Replies

3. Shell Programming and Scripting

Formatting the output

Hi, I have a file which contents entries in this form. Only in /data4/temp abc.000001 Only in /data4/temp abc.000003 Only in /data4/temp abc.000012 Only in /data4/temp abc.000120 Only in /data4/temp abc.000133 Only in /data4/temp abc.001444 i want to read line by line and format... (2 Replies)
Discussion started by: arijitsaha
2 Replies

4. Shell Programming and Scripting

Output Formatting

Hi Guys I need help removing some lines from output i am receiving from a shell script. Here is the output: http://i52.tinypic.com/10z0fut.png I am trying to remove the output that i have circled. . ${EDW}/extracts/bin/extracts_setup2.sh . ${EDW}/extracts/extracts.conf ... (7 Replies)
Discussion started by: mooey1232003
7 Replies

5. Shell Programming and Scripting

Formatting of output

Hi Experts, I have to create a report for certain audit and my output looks as follows I m trying to format my output to look like Any inputs would be highly appreciated Thanks Syed (5 Replies)
Discussion started by: maverick_here
5 Replies

6. Shell Programming and Scripting

formatting output

Sorry for being a n00b, but I'm having a lot more trouble than I should with formatting the output to the program I finally completed. I'm basically looking for the linux equivalent to setw( ) from c++ so that I can print things in columns like this (but without the underlines lol): MISSPELLED: ... (4 Replies)
Discussion started by: aikaterinimak
4 Replies

7. Shell Programming and Scripting

Formatting ls output

I am using find and ls to search for "warez" files on my server. find /home/ -regex ".*\.\(avi\|mp3\|mpeg\|mpg\|iso\)" -print0 | xargs -0 ls -oh This command produces this: -rw-r--r-- 1 1000 3.2M Feb 18 2009 /home/user/public_html/lupus.mp3 I want to only get this 3.2M... (4 Replies)
Discussion started by: bonrad
4 Replies

8. Shell Programming and Scripting

more help with formatting ls output...

Ok, for a fun project, my goal is to replicate the style of "catalog" on an old apple ] *A 002 SOMEAPPLESOFTFILE B 004 SOMEFILE T 006 SOMETEXT I 002 SOMEINTEGERFILE The first character is either " " or "*" depending on if the file is locked or not. Next is the filetype, so in... (1 Reply)
Discussion started by: patrick99e99
1 Replies

9. Shell Programming and Scripting

formatting output

Hi need some advice.. #grep -i hostname test.csv (gives the below output) HOSTNAME,name,host_test,,,,,,,, Now I need to format the above output as below. HOSTNAME: name=host_test Any easy way of doing this using awk or sed or printf? (4 Replies)
Discussion started by: balaji_prk
4 Replies

10. Shell Programming and Scripting

Formatting the output

Hi all, Have the following code(1) producing the results(2 & 3). Would like to know if there is a way to format the two reports created in a similar fashion. IE - The first is formatted nicely as a result of the echo "$xmpbdate $xavgs" >> $xmpbrpt However when I attempt to do the same on... (7 Replies)
Discussion started by: Cameron
7 Replies

Featured Tech Videos