Sponsored Content
Operating Systems Solaris Host name in front of pkginfo output Post 302894166 by busi386 on Monday 24th of March 2014 12:03:20 PM
Old 03-24-2014
Quote:
Originally Posted by Don Cragun
Try something like:
Code:
host=$(uname -n)
pkginfo -l | /usr/xpg4/bin/awk -v host="$host" '
/NAME:/ {
    gsub(/(^ *NAME: *)|( *$)/, "")
    printf("%s,\"%s\",", host, $0)
    next
}
/VERSION:/ {
    gsub(/(^ *VERSION: *)|( *$)/, "")
    printf("\"%s\",", $0)
    next
}
/BASEDIR:/ {
    gsub(/(^ *BASEDIR: *)|( *$)/, "")
    print
}'

Note that you can't have a comma in a field in a comma separated file unless the fields that contain commas in the data are quoted. This script quotes the NAME and VERSION fields since it seems doubtful that the hostname and BASEDIR fields will ever contain commas. (Or, if they do, it should be obvious how to add the quotes if they are needed for those fields.) For the input shown, you should get something like the following from the above script:
Code:
HostName,"Z shell (zsh)","11.10.0,REV=2005.01.08.05.16",/
HostName,"Tripwire Enterprise Agent","8.2.3",/usr/local/tripwire/te/agent
HostName,"SEA client support sunOS v5","2.4.1.3",/


The script you provide looks really good. the only problem is that the host name does not seem to be coming out.

Code:
,"ZFS (Root)","11.10.0,REV=2006.05.18.02.15",/
,"ZFS (Usr)","11.10.0,REV=2006.05.18.02.15",/
,"The Info-Zip (zip) compression utility","11.10.0,REV=2005.01.08.05.16",/
,"The Zip compression library","11.10.0,REV=2005.01.08.05.16",/
,"Solaris Zones (Root)","11.10.0,REV=2005.01.21.15.53",/
,"Solaris Zones (Usr)","11.10.0,REV=2005.01.21.15.53",/
,"Z shell (zsh)","11.10.0,REV=2005.01.08.05.16",/
,"Tripwire Enterprise Agent","8.2.3",/usr/local/tripwire/te/agent
,"SEA client support sunOS v5","2.4.1.3",/
....so on and so forth.....

any chance we can get the host name at the begining?

---------- Post updated at 11:03 AM ---------- Previous update was at 07:05 AM ----------

Hi

Don, This issue has been resolved. is it possible you can explain your code? It would be a great help to me. Also are there any books you recomend I read? or did you get your understanding of scripting from experience?

to resolve my issue, I added the following to your code.
Code:
 >> /tmp/tmp.pkg
sleep 10
cat /tmp/tmp.pkg | while read LINE
do 
   echo "`uname -n` $LINE" >> /tmp/`uname -n`.pk
done

so the final code looks like this:

Code:
rm /tmp/tmp.pkg
rm /tmp/`uname -n`.pk
#host=$(uname -n)
pkginfo -l | /usr/xpg4/bin/awk -v host="$host" '
/NAME:/ {
    gsub(/(^ *NAME: *)|( *$)/, "")
    printf("%s,\"%s\",", host, $0)
    next
}
/VERSION:/ {
    gsub(/(^ *VERSION: *)|( *$)/, "")
    printf("\"%s\",", $0)
    next
}
/BASEDIR:/ {
    gsub(/(^ *BASEDIR: *)|( *$)/, "")
    print
}' >> /tmp/tmp.pkg
sleep 10
cat /tmp/tmp.pkg | while read LINE
do 
   echo "`uname -n` $LINE" >> /tmp/`uname -n`.pk
done

I commented out the host portion as it did not seem to work for me.

Thank you soo much for your help and assistance.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

format and pkginfo -l question

I have a Solaris 2.6 box flagging an "Error block: 308918" in the messages file when I execute a pkginfo -l. pkginfo with no flags returns no errors. I think I need to use format to mark this block and then restore the database used by pkginfo for backup. Any advice/input welcome. Thanks (4 Replies)
Discussion started by: 98_1LE
4 Replies

2. UNIX for Dummies Questions & Answers

Sending tar output to a remote host

Our group has recently inherited 15 servers that have not been maintained for over a year. My first action is to backup the units however there is not enough disk space on most of them to run tar. My supervisor said to look at piping the tar output to another machine, however I have been unable... (3 Replies)
Discussion started by: thumper
3 Replies

3. Solaris

difference between pkginfo and pkgchk command

can anyone explain me the difference between pkginfo and pkgchk command in solaris. Both are used to display the package details, then what is the difference between both. (5 Replies)
Discussion started by: rogerben
5 Replies

4. UNIX for Advanced & Expert Users

rpm and pkginfo question

Can the root hide some of the results of the above commands from a regular user? i.e. $>rpm and $>sudo rpm will give different results (1 Reply)
Discussion started by: noam128
1 Replies

5. Solaris

grep help with pkginfo

im looking for a way to eliminate the packages from SUN when i do a pkginfo. thought this would work, but no luck. pkginfo | grep what am i doing wrong? Thanks (2 Replies)
Discussion started by: jrich523
2 Replies

6. Shell Programming and Scripting

rsh to many hosts the ftp output to single host

Hi guys. i need some help, i need to create a script in tcsh that rsh into all my hosts that we have at our business, then cd to a directory (cd /apps/users) then grab a file from the users folder and ftp it back to my windows machine. can someone please help? Kind regards. Brian Behrens (2 Replies)
Discussion started by: brian112
2 Replies

7. Solaris

pkgadd, pkginfo, ssh not working

Got a feeling someone has been fiddling around or something has got corrupt but I'm getting the following errors now:- -bash-3.00# pkginfo ld.so.1: pkginfo: fatal: libssl.so.0.9.7: open failed: No such file or directory Killed -bash-3.00# and also ssh:- -bash-3.00# ssh ld.so.1: ssh:... (5 Replies)
Discussion started by: psychocandy
5 Replies

8. Solaris

Host name in front of ps output

hello All. I am working on something that should be really simply. It turns out that its not. I am trying to produce output to list the hostname along with all the current running programs. the script im using is: for PS in `ps -Ao "user,args" | cut -d' ' -f1,2` do echo "`uname -n`, $PS"... (5 Replies)
Discussion started by: busi386
5 Replies

9. UNIX for Dummies Questions & Answers

How to get/print host string only from tnsping output?

Hello All, I am using Linux OS. My idea is get the host name when we do tnsping in oracle. output of : tnsping DOELO01 TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 15-OCT-2015 20:20:05 Copyright (c) 1997, 2011, Oracle. All rights reserved. Used parameter files:... (2 Replies)
Discussion started by: Ariean
2 Replies

10. UNIX for Beginners Questions & Answers

Output top line for each unique host

Hi All, Please can you help with the output whole line for each host (column 3) and the top line of column 9 - the lastest only What is being outputted 243272484 3 nbmedln1p03 LDN_TEST_UX_JM 1488198368 0000000007 1 INC_1MTH 0 ********** 243272492 3 nbmedln1p03 LDN_TEST_UX_JM... (10 Replies)
Discussion started by: Junes
10 Replies
All times are GMT -4. The time now is 09:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy