Simple AWK cleanup/questions AIX


 
Thread Tools Search this Thread
Operating Systems AIX Simple AWK cleanup/questions AIX
# 1  
Old 10-19-2012
Simple AWK cleanup/questions AIX

I have an unfortunate need to redo a bunch of disk settings on a VIOS on AIX, so I was putting together a quick script to scrub everything it has, make the changes, and then put the mappings back. It works, I just am trying to get my awk a bit more up-to-snuff and wanted to know the proper way to conjoin my awk statements

Initial Output:
Code:
$ lsmap -vadapter vhost3
vhost3          XXXXX.XXX.XXXXXXXX-XX-XXX                     0x00000007

VTD                   xxxx_datavg1
Status                Available
LUN                   0x8400000000000000
Backing device        hdisk41
Physloc               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Mirrored              false

VTD                   xxxx_rootvg1
Status                Available
LUN                   0x8500000000000000
Backing device        hdisk44
Physloc               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Mirrored              false

VTD                   xxxx_rootvg2
Status                Available
LUN                   0x8600000000000000
Backing device        hdisk45
Physloc               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Mirrored              false

What I have (and desired output)
Code:
$ lsmap -vadapter vhost3| awk '/^VTD|^Backing/' | awk 'ORS=NR%2?FS:RS'| awk '{print $2,$5}'
xxxx_datavg1 hdisk41
xxxx_rootvg1 hdisk44
xxxx_rootvg2 hdisk45

Learning awk hack and slash as I go, and I'm sure missing important fundamentals, but would appreciate the help on cleaning this up into a coherent single awk call.
# 2  
Old 10-19-2012
Code:
awk '/VTD/{a=$2}/Backing/{ print a,$NF}'

# 3  
Old 10-19-2012
Thanks so much mate, in case anyone else wants the oneliner (I'm just making it into functions and going to put it in the profiles)

Recreate:
Code:
HOST_ID=3 && lsmap -vadapter vhost${VHOST_ID} | awk -v vhid="$VHOST_ID" '/VTD/{a=$2}/Backing/{print "mkvdev -vdev "$NF" -vtd "a" -vadapter vhost"vhid}'

Remove:
Code:
VHOST_ID=3 && lsmap -vadapter vhost${VHOST_ID} | awk -v vhid="$VHOST_ID" '/VTD/{print "rmvdev -vdev "$NF}'

Want these to scream so I never have them automagically run on me, but that's the basics if anyone else needed Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. AIX

Simple questions about LPARs

Hello, I am looking into virtualizing AIX 7.1 on our p7 machine that already has AIX 7.1 installed on it. I have a few questions about them: 1) In order to gain LPAR functionality, do I need to purchase PowerVM software? 2) I read that LPARs are managed from locally attached graphical... (1 Reply)
Discussion started by: bstring
1 Replies

2. Solaris

Two simple questions about Solaris DCHP and Samba

I have two simple questions First is :can dhcp server NATIVE of solaris perform dhcp updates of bind via dnssec like dchpd on linux? Second: Is possible to build a pdc with samba and iplanet ldap server?Or is better with openldap? I never found howto or discussions about iplanet server. Thanks (0 Replies)
Discussion started by: Linusolaradm1
0 Replies

3. Shell Programming and Scripting

cleanup $PATH with awk

Hello there, I want to remove duplicate directories of $PATH. I already have the code (found in this forum), which removes duplicate lines in a textfile. awk 'x++==0' filename By how do I use this for the $PATH-variable? (17 Replies)
Discussion started by: doc_symbiosis
17 Replies

4. UNIX for Dummies Questions & Answers

What is the default temp dir for UNIX AIX 5.3 and cleanup guide.

Hi, I'm new with UNIX. In fact I'm just an Oracle Apps programmer runs and maintaining the system in UNIX platform. I've got this question, what is the UNIX AIX 5.3 default temp directory. Is it /tmp or /var/tmp. Additional to that I was noted that OS also created temp/swap files in this... (1 Reply)
Discussion started by: Alikuching
1 Replies

5. Shell Programming and Scripting

awk/sed/ksh script to cleanup /etc/group file

Many of my servers' /etc/group file have many userid's that does not exist in /etc/passwd file and they need to be deleted. This happened due to manual manipulation of /etc/passwd files. I need to do this for 40 servers. Can anyone help me in achieving this? Even reducing a step or two will be... (6 Replies)
Discussion started by: pdtak
6 Replies

6. UNIX for Dummies Questions & Answers

2 simple questions the linux pros will be able to get. Pleese help!

Allright the situation is that i have a dual boot set up with windows xp and red hat 9.0. the problem is that my modem and sound card dont work with linux. I found a driver, and i have to download it with xp. My question is..... How do i actually copy the file to the linux... (4 Replies)
Discussion started by: nregenwether
4 Replies

7. UNIX for Dummies Questions & Answers

2 Simple Questions

Hi, I am a dummy in unix. I have 2 simple questions. 1) I am the adminstrator. I want to set a alias that applied to all the users. I do not want to update each user's .profile or .cshrc file. So is there a way to update it in one file so that it applies to all users ? Example : I want... (1 Reply)
Discussion started by: champion
1 Replies

8. UNIX for Dummies Questions & Answers

Simple questions

hi, i am a total dummy of unix. i want to find out the following information from my Sun Solaris 8 Unix machine: 1) The command to display physical and virtual memory 2) The command to display the CPU 3) The command to display the total harddisk space. thank u very much and have a nice... (3 Replies)
Discussion started by: champion
3 Replies

9. UNIX for Dummies Questions & Answers

Simple grep questions

Hi all, My boss wants me to find out how often e-m users are accessing their account:confused:. The mail server keeps log of all logins. I want to use grep the 'usernames', but it should come out the moment it first encounters the username in the log. Can I do that? I want to avoid 10+ greps... (2 Replies)
Discussion started by: nitin
2 Replies
Login or Register to Ask a Question