Reputation: 1
I have a input file like this.
axoradev05.hs.pru.com /dev/fslv20 1502.00 1174.80 327.20 79% /ora01/STAGE82A axoradev05.hs.pru.com /dev/fslv21 1820.00 1438.35 381.65 80% /ora01/STAGE52A axoradev05.hs.pru.com /dev/fslv22 750.00 494.48 255.52 66% /ora01/STAGE62A axoradev05.hs.pru.com /dev/fslv23 1500.00 1049.42 450.58 70% /ora01/STAGE72A axoradev06.production.local /dev/fslv17 642.00 554.23 87.77 87% /ora01/MART54A axoradev10.production.local axoradev11.production.local /dev/fslv08 30.00 7.39 22.61 25% /ora01/BOARD01A axoradev13.production.local axoramis01a.hs.pru.com /dev/ora01_lv58 1648.00 1413.70 234.30 86% /ora01/BUOMI01P axoramis01a.hs.pru.com /dev/ora01_lv44 1345.00 1104.90 240.10 83% /ora01/CSREC01P axoramis01a.hs.pru.com /dev/ora01_lv14 150.00 13.75 136.25 10% /ora01/INRP102P
I want it to then look like this.
axoradev05 /dev/fslv20 1502.00 1174.80 327.20 79% /ora01/STAGE82A /dev/fslv21 1820.00 1438.35 381.65 80% /ora01/STAGE52A /dev/fslv22 750.00 494.48 255.52 66% /ora01/STAGE62A /dev/fslv23 1500.00 1049.42 450.58 70% /ora01/STAGE72A axoradev06 /dev/fslv17 642.00 554.23 87.77 87% /ora01/MART54A axoradev10 axoradev11 /dev/fslv08 30.00 7.39 22.61 25% /ora01/BOARD01A axoradev13 axoramis01 /dev/ora01_lv58 1648.00 1413.70 234.30 86% /ora01/BUOMI01P /dev/ora01_lv44 1345.00 1104.90 240.10 83% /ora01/CSREC01P /dev/ora01_lv14 150.00 13.75 136.25 10% /ora01/INRP102P
i.e remove column 1 but use first 10 characters as a heading using awk,print,printf
This is the script that creates the file and the what I am currently doing
# COLLECT THE DATA
##################
/opt/local/sbin/pcmdrun -o aix "df -Pg" > /tmp/bifsize1 |
# FORMAT THE DATA
#################
awk 'NF>1{ printf "%18s %8s %6s %8s %8s \n", $7, $3, $6, $4, $5 }' /tmp/bifsize1 >>
/tmp/bifsize.`date +'%Y%m%d'`.txt
Upvotes: 0
Views: 65
Reputation: 204731
Here's how to do what you asked for given your intermediate file in your question as input:
$ cat tst.awk
{ server = substr($0,1,10) }
server != prev {
print "\t" server
prev = server
}
sub(/[^[:space:]]+[[:space:]]+/,"")
$ awk -f tst.awk file
axoradev05
/dev/fslv20 1502.00 1174.80 327.20 79% /ora01/STAGE82A
/dev/fslv21 1820.00 1438.35 381.65 80% /ora01/STAGE52A
/dev/fslv22 750.00 494.48 255.52 66% /ora01/STAGE62A
/dev/fslv23 1500.00 1049.42 450.58 70% /ora01/STAGE72A
axoradev06
/dev/fslv17 642.00 554.23 87.77 87% /ora01/MART54A
axoradev10
axoradev11
/dev/fslv08 30.00 7.39 22.61 25% /ora01/BOARD01A
axoradev13
axoramis01
/dev/ora01_lv58 1648.00 1413.70 234.30 86% /ora01/BUOMI01P
/dev/ora01_lv44 1345.00 1104.90 240.10 83% /ora01/CSREC01P
/dev/ora01_lv14 150.00 13.75 136.25 10% /ora01/INRP102P
Upvotes: 1