Sponsored Content
Top Forums Shell Programming and Scripting Problem counting unique disks/slices Post 302553733 by jontjioe on Thursday 8th of September 2011 11:29:33 AM
Old 09-08-2011
Problem counting unique disks/slices

I want to create a unique listing of slices/disks from a large list that will have duplicates. Here is a sample of the input file.

Code:
#array.txt
Disk4:\s93
Disk4:\s93
Disk4:\s94
Disk4:\s95\s96\s97
Disk4:\s93
Disk4:\s95\s96\s103
Disk4:\s93
Disk4:\s93
Disk4:\s95\s96\s105
Disk4:\s93
Disk4:\s95\s96\s105
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s95\s96\s106

I think the following command should give me what I want. It should output the unique disk/slice name in the first column and how many times that disk/slice occurred in the list in the 2nd column.

Code:
cat array.txt | awk 'count[$1]++ END {for (i in count) print i, count[i]}' > array.txt_unique

However, only some of the lines in the output file are correct. Sometimes it seems that it is not matching the disk name and it thinks it is different when in reality it is the same. See my sample output file below.

Code:
#array.txt_unique
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s95\s96\s105
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s93
Disk4:\s95\s96\s103 1
Disk4:\s95\s96\s105 2
Disk4:\s95\s96\s106 1
Disk4:\s95\s96\s97 1
Disk4:\s93 14
Disk4:\s94 1

I also tried removing the colons and back slashes prior to counting the unique slices, but I had the same result. Can someone help me with this?

Thanks in advance,
Jonathan
 

10 More Discussions You Might Find Interesting

1. Linux

problem with disks on SAN

Hi I have a linux box attched to a SAN storage from EMC with RAID 5 .I understand that it has 3g cache howver a 20gb file creation takes too much time here are my results any ideas why time dd if=/dev/zero of=disk.img bs=1048576 count=20000 20000+0 records in 20000+0 records out 997.59s... (2 Replies)
Discussion started by: xiamin
2 Replies

2. Linux

Problem for restoring lvm on different disks

Hi all, I have a server running in RH ES4, the SCSI HD are running in RAID 1. I backup the LVM config by using 'vgcfgbackup' and then remove all the HD. I insert another HD (same size & branch but different model) into the machine and run linux rescue to recreate the... (0 Replies)
Discussion started by: donaldfung
0 Replies

3. Shell Programming and Scripting

problem with the script in counting

Hi, I have a script which greps for a word in a file contains records. I grabbed a particular column & sent the colomn values to a file. I need to find each column value, the times it appeared in the file. My script is: grep sceneority <file> | cut -f 6 >> swi With... (4 Replies)
Discussion started by: pradeep_script
4 Replies

4. Solaris

Problem with accessing SAN disks

Hi, I'm having a problem when attempting to define the OCR location for my 10g RAC setup on Solaris 10. I get the following error: The specified shared raw partition /dev/did/rdsk/d1s0 may not have the correct permission. Verify that the partition is owned by Oracle user. As per the Oracle10g... (15 Replies)
Discussion started by: michael.chow
15 Replies

5. Solaris

SAN DISKS - Number of slices ?

Good morning to one and all :-) Thank god its Friday, as its bee na rubbish week for me ! So, a quick question. Disks ! Ive got a few local disks, and a few SAN disks used on my solaris server. Whats confusing me, and Im not sure if there's an issue at the SAN end, or my end, regarding the... (3 Replies)
Discussion started by: sbk1972
3 Replies

6. Shell Programming and Scripting

Counting unique IP in warning log

Hi I have a log that look like this: 12:20:28.522 Connection from IP: 185.164.118.136 Login Failed! 12:20:29.389 Connection from IP: 84.20.182.63 Login Failed! 12:20:30.111 Connection from IP: 80.180.143.79 Login Failed! 12:20:31.038 Connection from IP: 83.226.102.106 Login Failed!... (1 Reply)
Discussion started by: Jotne
1 Replies

7. UNIX for Advanced & Expert Users

Problem while counting number of fields in TAB delimited file

I'm facing a strange problem, please help me out. Here we go. I want to count number of fields in particular file. filename and delimiter character will be passed through parameter. On command prompt if i type following i get 27 as output (which is correct) cat customer.dat | head -1 | awk... (12 Replies)
Discussion started by: vikanna
12 Replies

8. AIX

Interesting Problem! 2 VIOs, One is problematic, assigning disks and resources from the other only

Hi, The scenario is like this: 1.We needed to assign two hdisks to an LPAR 2.SAN team gives us two ldevs 3.One of our VIO is hanging on cfgmgr operation 4. We ran cfgmgr on the smooth VIO. Got the disks and assigned the disks from there to the LPAR.(By passed the other VIO as in didnt run... (11 Replies)
Discussion started by: aixromeo
11 Replies

9. UNIX for Dummies Questions & Answers

partition of slices

Hello, I am using solaris 10 x86. my root and backup slices is having same memory 10 GB and same cylinders numbers . My root and backup cylinders ends at same cylinder number 1031. so for creating a new slice i am giving starting cylinder from 1302 and this is giving me error as "out of range" .... (2 Replies)
Discussion started by: bhargav90
2 Replies

10. Shell Programming and Scripting

Counting Pattern and unique pattern

Hi, I have a log file which amongst other text has these lines: (id is always the same format - ) e.g. <username>user1</username> <name>fdfsdf</name> Multiple other tags <id>A111</id> <username>user2</username> <name>fdfsdf</name> Multiple other tags <id>A222</id>... (1 Reply)
Discussion started by: arsenalfan01
1 Replies
did(7)						     Sun Cluster Device and Network Interfaces						    did(7)

NAME
did - user configurable disk id driver DESCRIPTION
Note - Beginning with the Sun Cluster 3.2 release, Sun Cluster software includes an object-oriented command set. Although Sun Cluster software still supports the original command set, Sun Cluster procedural documentation uses only the object-oriented command set. For more infor- mation about the object-oriented command set, see the Intro(1CL) man page. Disk ID (DID) is a user configurable pseudo device driver that provides access to underlying disk, tape, and CDROM devices. When the device supports unique device ids, multiple paths to a device are determined according to the device id of the device. Even if multiple paths are available with the same device id, only one DID name is given to the actual device. In a clustered environment, a particular physical device will have the same DID name regardless of its connectivity to more than one host or controller. This, however, is only true of devices that support a global unique device identifier such as physical disks. DID maintains parallel directories for each type of device that it manages under /dev/did. The devices in these directories behave the same as their non-DID counterparts. This includes maintaining slices for disk and CDROM devices as well as names for different tape device behaviors. Both raw and block device access is also supported for disks by means of /dev/did/rdsk and /dev/did/rdsk. At any point in time, I/O is only supported down one path to the device. No multipathing support is currently available through DID. Before a DID device can be used, it must first be initialized by means of the scdidadm(1M) command. IOCTLS
The DID driver maintains an admin node as well as nodes for each DID device minor. No user ioctls are supported by the admin node. The DKIOCINFO ioctl is supported when called against the DID device nodes such as /dev/did/rdsk/d0s2. All other ioctls are passed directly to the driver below. FILES
/dev/did/dsk/dnsm block disk or CDROM device, where n is the device number and m is the slice number /dev/did/rdsk/dnsm raw disk or CDROM device, where n is the device number and m is the slice number /dev/did/rmt/n tape device , where n is the device number /dev/did/admin administrative device /kernel/drv/did driver module /kernel/drv/did.conf driver configuration file /etc/did.conf scdidadm configuration file for non-clustered systems Cluster Configuration Repository (CCscdidadm(1M) maintains configuration in the CCR for clustered systems SEE ALSO
devfsadm(1M), Intro(1CL), cldevice(1CL), scdidadm(1M) NOTES
DID creates names for devices in groups, in order to decrease the overhead during device hot-plug. For disks, device names are created in /dev/did/dsk and /dev/did/rdsk in groups of 100 disks at a time. For tapes, device names are created in /dev/did/rmt in groups of 10 tapes at a time. If more devices are added to the cluster than are handled by the current names, another group will be created. Sun Cluster 3.2 24 April 2001 did(7)
All times are GMT -4. The time now is 02:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy