Sponsored Content
Top Forums Shell Programming and Scripting Format - Inventory Row data into Column - Awk - Nawk Post 302310439 by durden_tyler on Friday 24th of April 2009 07:46:31 PM
Old 04-24-2009
Code:
$ 
$ # Print the file "computer_data.txt" that has information of all PCs in the network
$                                                                                    
$ cat computer_data.txt                                                              
*******************************************************************************      
Serial                                                                               
123456                                                                               

Computer IP Address
lo0: flags=12345687<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ffff0000                                                 
bge0: flags=1234667<UP,BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 1500 index 2   
inet 1.2.3.4 netmask fff00000 broadcast 1.2.3.4                                 

Make of Machine
SunOS test 5.10 Generic_123456-02 sun4u sparc SUNW,Sun-Fire-V440

CPU Processor Info
The physical processor has 1 virtual processor (0)
UltraSPARC-IIIi (portid 0 impl 0x16 ver 0x18 clock 1002 MHz)
The physical processor has 1 virtual processor (1)          
UltraSPARC-IIIi (portid 1 impl 0x16 ver 0x18 clock 1002 MHz)

Memory Info
Memory size: 4144 Megabytes

Disk Info
Vendor: SEAGATE Product: ST123456LSUN22G Revision: 0101 Serial No: 12345678 
Size: 73.40GB <73400057856 bytes>                                           
Vendor: SEAGATE Product: ST13456LSUN12G Revision: 0202 Serial No: 12345678  
Size: 73.40GB <73400057856 bytes>                                           
*******************************************************************************

*******************************************************************************
Serial                                                                         
1357921                                                                        

Computer IP Address
lo0: flags=12345687<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ffff0000                                                 
bge0: flags=1234667<UP,BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 1500 index 2   
inet 1.2.3.5 netmask fff00000 broadcast 1.2.3.4                                 

Make of Machine
SunOS test1 5.10 Generic_123456-02 sun4u sparc SUNW,Sun-Fire-V440

CPU Processor Info
The physical processor has 1 virtual processor (0)
UltraSPARC-IIIi (portid 0 impl 0x16 ver 0x18 clock 1002 MHz)
The physical processor has 1 virtual processor (1)          
UltraSPARC-IIIi (portid 1 impl 0x16 ver 0x18 clock 1002 MHz)

Memory Info
Memory size: 8144 Megabytes

Disk Info
Vendor: SEAGATE Product: ST123456LSUN22G Revision: 0101 Serial No: 12345678 
Size: 73.40GB <73400057856 bytes>                                           
Vendor: SEAGATE Product: ST13456LSUN12G Revision: 0202 Serial No: 12345678
Size: 73.40GB <73400057856 bytes>
*******************************************************************************

$
$ # Display the awk script "block.awk" that will process a modified version of "computer_data.txt"
$
$ cat block.awk
BEGIN {
  FS = "\n"; RS = "\n~\n"; OFS = "\n";
  print "Serial\tComputer IP Address\tMake of Machine\tCPU Processor Info\tMemory Info\tVendor\tSize"
}

{
serial = $3
split($8,x," ");  ipaddr = x[2]
split($10,x," "); make = x[1] " " x[2]
split($13,x," "); cpu = x[1]
split($17,x," "); mem = x[3] " " x[4]
split($19,x," "); vndr = x[2]
split($20,x," "); size = x[2]
print serial "\t" ipaddr "\t" make "\t" cpu "\t" mem "\t" vndr "\t" size
}
$
$
$ # Start processing now. Note that "sed" is used to (a) remove blank lines and (b) replace each
$ # line consisting of "*" characters by a single "~" character.
$
$ sed -e '/^$/d' -e 's/^\*\**/~/g' computer_data.txt | awk -f block.awk
Serial  Computer IP Address     Make of Machine CPU Processor Info      Memory Info     Vendor  Size
123456  1.2.3.4 SunOS test      UltraSPARC-IIIi 4144 Megabytes  SEAGATE 73.40GB
1357921 1.2.3.5 SunOS test1     UltraSPARC-IIIi 8144 Megabytes  SEAGATE 73.40GB
$
$

tyler_durden
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

row to column and position data in to fixed column width

Dear friends, Below is my program and current output. I wish to have 3 or 4 column output in order to accomodate in single page. i do have subsequent command to process after user enter the number. Program COUNT=1 for MYDIR in `ls /` do VOBS=${MYDIR} echo "${COUNT}. ${MYDIR}" ... (4 Replies)
Discussion started by: baluchen
4 Replies

2. Shell Programming and Scripting

Moving data from a specified column/row to another column/row

Hello, I have an input file like the following: 11_3_4 2_1_35 3_15__ _16989 Where '_' is a space. The data is in a table. Is there a way for the program to prompt the user for x1,y1 and x2,y2, where x1,y1 is the desired number (for example x=6 y=4 is a value of 4) and move to a desired spot... (2 Replies)
Discussion started by: jl487
2 Replies

3. Shell Programming and Scripting

Sort a the file & refine data column & row format

cat file1.txt field1 "user1": field2:"data-cde" field3:"data-pqr" field4:"data-mno" field1 "user1": field2:"data-dcb" field3:"data-mxz" field4:"data-zul" field1 "user2": field2:"data-cqz" field3:"data-xoq" field4:"data-pos" Now i need to have the date like below. i have just... (7 Replies)
Discussion started by: ckaramsetty
7 Replies

4. Shell Programming and Scripting

Awk to add selected row column data

Looks at the most efficient way to add up the column of data based off of the rows. Random data Name-Number-ID Sarah-2.0-15 Bob-6.3-15 Sally-1.0-10 James-1.0-10 Scotty-10.7-15 So I would select all those who have ID = 15 and then add up total number read - p "Enter ID number" Num ... (3 Replies)
Discussion started by: Ironguru
3 Replies

5. Shell Programming and Scripting

Subtracting each row from the first row in a single column file using awk

Hi Friends, I have a single column data like below. 1 2 3 4 5 I need the output like below. 0 1 2 3 4 where each row (including first row) subtracting from first row and the result should print below like the way shown in output file. Thanks Sid (11 Replies)
Discussion started by: ks_reddy
11 Replies

6. UNIX for Advanced & Expert Users

Convert column data to row data using shell script

Hi, I want to convert a 3-column data to 3-row data using shell script. Any suggestion in this regard is highly appreciated. Thanks. (4 Replies)
Discussion started by: sktkpl
4 Replies

7. Shell Programming and Scripting

awk - script help: column to row format of data allignment?

Experts Good day, I have the following data, file1 BRAAGRP1 A2X B2X C2X D2X BRBGRP12 A3X B3X Z10 D09 BRC1GRP2 LO01 (4 Replies)
Discussion started by: rveri
4 Replies

8. UNIX for Dummies Questions & Answers

awk to print first row with forth column and last row with fifth column in each file

file with this content awk 'NR==1 {print $4} && NR==2 {print $5}' file The error is shown with syntax error; what can be done (4 Replies)
Discussion started by: cdfd123
4 Replies

9. UNIX for Dummies Questions & Answers

Des/awk for change format and adding integers in a column of data?

Greetings! I need a quick way to change the format in a table of data Here is an example of the input: 10 72 Value=177 VDB=0.0245 Value4=0,0,171,0 10 274 Value=238 VDB=0.0433 Value4=29,0,205,0 10 312 Value=222 VDB=0.0384 Value4=8,0,190,19 10 540 Value=405 VDB=0.0391 Value4=13,30,153,195... (3 Replies)
Discussion started by: Twinklefingers
3 Replies

10. Shell Programming and Scripting

How to get row data printed in column using awk?

Hi team, I have below sample file. $ cat sample dn: MSISDN=400512345677,dc=msisdn,ou=NPSD,serv=CSPS,ou=servCommonData,dc=stc structuralObjectClass: NphData objectClass: NphData objectClass: MSISDN entryDS: 0 nodeId: 35 createTimestamp: 20170216121047Z modifyTimestamp: 20170216121047Z... (3 Replies)
Discussion started by: shanul karim
3 Replies
All times are GMT -4. The time now is 11:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy