mansa
1
Hi,
Please help me in doing this..
$ disklabel dsk1
# /dev/rdisk/dsk1c:
type: SCSI
disk: BD018635C4
label:
flags: dynamic_geometry
bytes/sector: 512
sectors/track: 254
tracks/cylinder: 20
sectors/cylinder: 5080
cylinders: 7001
sectors/unit: 35565080
rpm: 10025
interleave: 1
trackskew: 84
cylinderskew: 74
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype fsize bsize cpg # ~Cyl values
a: 131072 0 unused 0 0 # 0 - 25*
b: 262144 131072 unused 0 0 # 25*- 77*
c: 35565080 0 unused 0 0 # 0 - 7000
d: 0 0 unused 0 0 # 0 - 0
e: 0 0 unused 0 0 # 0 - 0
f: 0 0 unused 0 0 # 0 - 0
g: 17585932 393216 unused 0 0 # 77*- 3539*
h: 17585932 17979148 unused 0 0 # 3539*- 7000
Above is the "disklabel" (command) output .
From above output first it must take 4 partitions(a: , b: , g: . h: ) .
And it must check fstype column =unused for all above 4 partitions.And among those 4 partitions finally i need the partitions which has fstype=unused.
Please let me know how to get the output by using awk or by any other commands..
Thanks,
mansa.
zaxxon
2
awk '/^a|^b|^g|^h/ && $4 == "unused" {sub(/:/,"",$1); print $1}' infile
Since all 4 wanted partitions have "unused", you will get all 4 of them.
another way
# awk -F":| " '/^(a|b|g|h)/&&$5=="unused"{print $1}' file
mansa
4
Hi,
I tried as below way..
$ disklabel dsk2 > file
$ t=`awk -F" " '/^(a|b|g|h)/&&$5=="unused"{print $1}' file`
$ echo $t
$
I didnt get any output...
Please let me know how can i get value in "t" variable..
Thanks,
mansa.
then use zaxxon's method.
mansa
6
Hi zaxxon,
I tried as per your comments..Could you please look at it...
$ disklabel dsk2 > infile
t=`awk '/^a|^b|^g|^h/ && $4 == "unused" {sub(/:/,"",$1); print $1}' infile`
$ echo $t
$
It didnt display any output...
Could you please let me know how to get value in $t.
Thanks in Advance,
Mansa
execute the awk commands on the command line and see what you get. don't assign to any variables yet !
zaxxon
8
root@isau02:/data/tmp/testfeld> cat infile
# /dev/rdisk/dsk1c:
type: SCSI
disk: BD018635C4
label:
flags: dynamic_geometry
bytes/sector: 512
sectors/track: 254
tracks/cylinder: 20
sectors/cylinder: 5080
cylinders: 7001
sectors/unit: 35565080
rpm: 10025
interleave: 1
trackskew: 84
cylinderskew: 74
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype fsize bsize cpg # ~Cyl values
a: 131072 0 unused 0 0 # 0 - 25*
b: 262144 131072 unused 0 0 # 25*- 77*
c: 35565080 0 unused 0 0 # 0 - 7000
d: 0 0 unused 0 0 # 0 - 0
e: 0 0 unused 0 0 # 0 - 0
f: 0 0 unused 0 0 # 0 - 0
g: 17585932 393216 unused 0 0 # 77*- 3539*
h: 17585932 17979148 unused 0 0 # 3539*- 7000
root@isau02:/data/tmp/testfeld> awk '/^a|^b|^g|^h/ && $4 == "unused" {sub(/:/,"",$1); print $1}' infile
a
b
g
h
root@isau02:/data/tmp/testfeld> t=`awk '/^a|^b|^g|^h/ && $4 == "unused" {sub(/:/,"",$1); print $1}' infile`
root@isau02:/data/tmp/testfeld> echo $t
a b g h
mansa
9
Hi,
$ disklabel dsk2 > infile
$ awk '/^a|^b|^g|^h/ && $4 == "unused" {sub(/:/,"",$1); print $1}' infile
Nothing displaying here..
I want the output as value=4(if all 4 partitions are unused)
and names of partitions which are unused among 4.
Please let me know.
Thanks,
Mansa
mansa
10
Hi Zaxxon,
I too tried the same way but i didnt get the output..
$ disklabel dsk1 > infile
mullins:/qarun/tools/lib (ROOT) >
$ cat infile
# /dev/rdisk/dsk1c:
type: SCSI
disk: BD018635C4
label:
flags: dynamic_geometry
bytes/sector: 512
sectors/track: 254
tracks/cylinder: 20
sectors/cylinder: 5080
cylinders: 7001
sectors/unit: 35565080
rpm: 10025
interleave: 1
trackskew: 84
cylinderskew: 74
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype fsize bsize cpg # ~Cyl values
a: 131072 0 unused 0 0 # 0 - 25*
b: 262144 131072 unused 0 0 # 25*- 77*
c: 35565080 0 unused 0 0 # 0 - 7000
d: 0 0 unused 0 0 # 0 - 0
e: 0 0 unused 0 0 # 0 - 0
f: 0 0 unused 0 0 # 0 - 0
g: 17585932 393216 unused 0 0 # 77*- 3539*
h: 17585932 17979148 unused 0 0 # 3539*- 7000
mullins:/qarun/tools/lib (ROOT) >
$ awk '/^a|^b|^g|^h/ && $4 == "unused" {sub(/:/,"",$1); print $1}' infile
mullins:/qarun/tools/lib (ROOT) >
$
Could you please let me know, what mistake am doing here..
Thanks,
mansa
mansa
11
Hi,
Might be it differs with Shell..
I am trying it on ksh shell...
========================
mullins:/qarun (ROOT) >
$ disklabel dsk1 > infile
mullins:/qarun (ROOT) >
$ cat infile
# /dev/rdisk/dsk1c:
type: SCSI
disk: BD018635C4
label:
flags: dynamic_geometry
bytes/sector: 512
sectors/track: 254
tracks/cylinder: 20
sectors/cylinder: 5080
cylinders: 7001
sectors/unit: 35565080
rpm: 10025
interleave: 1
trackskew: 84
cylinderskew: 74
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype fsize bsize cpg # ~Cyl values
a: 131072 0 unused 0 0 # 0 - 25*
b: 262144 131072 unused 0 0 # 25*- 77*
c: 35565080 0 unused 0 0 # 0 - 7000
d: 0 0 unused 0 0 # 0 - 0
e: 0 0 unused 0 0 # 0 - 0
f: 0 0 unused 0 0 # 0 - 0
g: 17585932 393216 unused 0 0 # 77*- 3539*
h: 17585932 17979148 unused 0 0 # 3539*- 7000
mullins:/qarun (ROOT) >
$ awk '/^a|^b|^g|^h/ && $4 == "unused" {sub(/:/,"",$1); print $1}' infile
mullins:/qarun (ROOT) >
$ echo $SHELL
/bin/ksh
Please let me know your inputs on this..
Thanks,
Mansa