Visit Our UNIX and Linux User Community


formatting output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting formatting output
# 1  
Old 09-13-2007
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?
# 2  
Old 09-13-2007
Code:
$ awk 'BEGIN{FS=","} {printf("%s:\n%s=%s\n",$1,$2,$3)}' test.csv 
HOSTNAME:
name=host_test
HOSTNAME2:
name=host2_test
HOSTNAME3:
name=host3_test

Cheers,
ZB
# 3  
Old 09-14-2007
Thanx zazzybob !!!

well i need to extend my question.

the solution provided is fine when you know the number of field. let me expalin more

HOSTNAME,name,host_test,,,,,,,,
HOSTNAME,name,host_test2,ip_address,192.168.1.1,,,,,,,,
HOSTNAME,name,host_test3,ip_address,192.168.5.1,netmask,255,255,255,0

so i need to convert the above format in to below stanza format

HOSTNAME:
name=host_test

HOSTNAME:
name=host_test2
ip_address=182.168.1.1

HOSTNAME:
name=host_test3
ip_address=192.168.5.1
netmask=255,255,255,0

The problem over here is that different lines have different count of coma seperated values.. and i need to print them all..

can we have awk look for number of fields and print them accordingly?
# 4  
Old 09-14-2007
Assuming netmask is 255.255.255.0 and not 255,255,255,0:

Code:
awk '{print $1":"
	for(i=2;i<=NF;i++)
		if(i%2==0)
			printf "%s=%s\n", $i,$(i+1)
		print "\n"
}' FS="," filename

# 5  
Old 09-15-2007
Yes.. that solved my problem.. thanks a lot dude.. you people rock Smilie

Previous Thread | Next Thread
Test Your Knowledge in Computers #169
Difficulty: Easy
Red Hat, Inc. is an Canadian multinational software company.
True or False?

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 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... (6 Replies)
Discussion started by: dhanamurthy
6 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