Sunday 11 December 2011

shell script - awk tips

Print column1, column5 and column7 of a data file or output of any columns list
$awk ‘{print $1, $5, $7}’ data_file
$cat file_name |awk ‘{print $1 $5 $7}’
$ls –al |awk ‘{print $1, $5, $7}’ -- Prints file_permissions,size and date

Syntax of running an awk program
Awk ‘program’ input file(s)

List all files names whose file size greater than zero.
$ls –al |awk ‘$5 > 0 {print $9}’

List all files whose file size equal to 512bytes.
$ls –al |awk ‘$5 == 0 {print $9}’

print all lines
$awk ‘{print }’ file_name
$awk ‘{print 0}’ file_name

Number of lines in a file
$awk ‘ END {print NR}’ file_name

Number of columns in each row of a file
$awk ‘ {print NF’} file_name

Sort the output of file and eliminate duplicate rows
$awk ‘{print $1, $5, $7}’ |sort –u

List all file names whose file size is greater than 512bytes and owner is "oracle"
$ls –al |awk ‘$3 == "oracle" && $5 > 512 {print $9}’

List all file names whose owner could be either "oracle" or "root"
$ls –al |awk ‘$3 == "oracle" || $3 == "root" {print $9}’

list all the files whose owner is not "oracle
$ls –al |awk ‘$3 != "oracle" {print $9}’

List all lines which has atlease one or more characters
$awk ‘NF > 0 {print }’ file_name

List all lines longer that 50 characters
$awk ‘length($0) > 50 ‘{print }’ file_name

List first two columns
$awk ‘{print $1, $2}’ file_name

Swap first two columns of a file and print
$awk ‘{temp = $1; $1 = $2; $2 = temp; print }’ file_name

Replace first column as "ORACLE" in a data file
$awk ‘{$1 = "ORACLE"; print }’ data_file

Remove first column values in a data file
$awk ‘{$1 =""; print }’ data_file

Calculate total size of a directory in Mb
$ls –al |awk ‘{total +=$5};END {print "Total size: " total/1024/1024 " Mb"}’

Calculate total size of a directory including sub directories in Mb
$ls –lR |awk ‘{total +=$5};END {print "Total size: " total/1024/1024 " Mb"}’

Find largest file in a directory including sub directories
$ls –lR |awk ‘{print $5 "\t" $9}’ |sort –n |tail -1

Power path installation on hp-ux for load balancing

To install power path :
#swinstall -x autoreboot=true -x mount_all_filesystems=false -s /tmp/EMCPower.HP.4.1.0.tar EMCpower

#emcpreg -install (#Enter registration key)

#powermt config

#powermt set policy=so dev=all

# powermt display

Run powervadm list to confirm unique volume group naming and storage elements do not belong to any other PPVG volume group on the host.

#powervadm list

To create VG & lvol :
#powervg create -vg oracle10g -se c22t0d0 c22t0d1 c22t0d2 –continue

#powervol create -vg oracle10g -vol ora100gbr5v08 -ua -se c24t1d0

To view volume group information

#powervadm [list|show]

#powervadm show -tab

To view information about a specific volume group

#powervg [list|show] –vg volumename –vol

#powervg [list|show] –vg volumename –se

The -vol and the -se arguments are mutually exclusive.

Backup metadata

#powervmeta backup -vg oracle10g -f /tmp/oracle10g_metadata.81390

Destory Volumes and Volume Groups run the following commands

#powervol destroy –vg oracle10g –vol ora22gbr1v01

#powervg destroy –vg oracle10g

Disable root SSH login : How to ??

Disable Root SSH Login on HP UX

# cd /opt/ssh/etc

# vi sshd_config

Change the line:

PermitRootLogin yes

change into like below

PermitRootLogin no

save and exit

Then stop and restart SSH.

# /sbin/init.d/secsh stop

# /sbin/init.d/secsh start

You will then NOT be allowed to ssh as root.

==============================================


Disable Root SSH Login on Linux


#vi /etc/ssh/sshd_config

Find this section in the file, containing the line with “PermitRootLogin” in it.

#LoginGraceTime 2m
#PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6

Make the line look like this to disable logging in through ssh as root.

PermitRootLogin no

Then restart the sshd service:

# /etc/init.d/sshd restart