Sponsored Content
Full Discussion: Script to group XML entries?
Top Forums Shell Programming and Scripting Script to group XML entries? Post 302769817 by Yoda on Wednesday 13th of February 2013 01:49:50 PM
Old 02-13-2013
Quote:
Originally Posted by dlundwall
One note of clarification please: Why do you have the "-v" option set? What does it do?

I think that you might have thought that I only have one group (Group Info: Las Vegas SERVERS (39786)) The xml file has 100's of Groups. That's why I am looking to have the script list All groups with their associated Devices. Does that make sense or am I confusing the issue?
Yes, that is what I thought and code looks only for 39786.

For grouping all others you can code something like:
Code:
awk -F'[<>]' '  /<Group version/ {
                        getline;
                        GID = $3;
                        f = 1;
                        next;
                } /<DeviceIDList/ && f {
                        i = 1;
                } /<ID>/ && i {
                        ID = ID RS $3;
                        c++;
                } /<\/DeviceIDList/ && f {
                        i = 0;
                } /<Name>/ && f {
                        NM = $3;
                } /<\/Group>/ && f {
                        f = 0;
                        printf "Group Info: %s (%d)\n", NM, GID;
                        print "Device in group: "
                        print ID;
                        printf "Total in group: %d\n", c;
                        NM = ""; GID = ""; ID = ""; c = 0;
} ' xml_file

I hope this helps.
This User Gave Thanks to Yoda For This Post:
 

9 More Discussions You Might Find Interesting

1. Solaris

entry in /etc/group too long - problem using sudo with %group

hi folks, I've been googling for quite some time, but still can't find anything near it...my problem is the following: for useradministration in our company we are using ssh/sudo, now whenever I try to add users (we have quite a number of users) with useradd -G groupname for secondary group I... (4 Replies)
Discussion started by: poli
4 Replies

2. Shell Programming and Scripting

How to remove xml namespace from xml file using shell script?

I have an xml file: <AutoData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Table1> <Data1 10 </Data1> <Data2 20 </Data2> <Data3 40 </Data3> <Table1> </AutoData> and I have to remove the portion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" only. I tried using sed... (10 Replies)
Discussion started by: Gary1978
10 Replies

3. Shell Programming and Scripting

Merge group numbers and add a column containing group names

I have a file in the following format. Groups of data merge together and the group number is indicated above each group. 1 adrf dfgr dfg 2 dfgr dfgr 3 dfef dfr fd 4 fgrt fgr fgg 5 fgrt fgr (3 Replies)
Discussion started by: Lucky Ali
3 Replies

4. Shell Programming and Scripting

Merge group numbers and add a column containing group names

Hi All I do have a file like this with 6 columns. Groups of data merge together and the group number is indicated above each group. 1 1 12 26 289 3.2e-027 GCGTATGGCGGC 2 12 26 215 6.7e+006 TTCCACCTTTTG 3 9 26 175 ... (1 Reply)
Discussion started by: Lucky Ali
1 Replies

5. Shell Programming and Scripting

Sort the file contents in each group....print the group title as well

I've this file and need to sort the data in each group File would look like this ... cat file1.txt Reason : ABC 12345-0023 32123-5400 32442-5333 Reason : DEF 42523-3453 23345-3311 Reason : HIJ 454553-0001 I would like to sort each group on the last 4 fileds and print them... (11 Replies)
Discussion started by: prash184u
11 Replies

6. AIX

Adding a Volume Group to an HACMP Resource Group?

Hi, I have a 2 node Cluster. Which is working in active/passive mode (i.e Node#1 is running and when it goes down the Node#2 takes over) Now there's this requirement that we need a mount point say /test that should be available in active node #1 and when node #1 goes down and node#2 takes... (6 Replies)
Discussion started by: aixromeo
6 Replies

7. Shell Programming and Scripting

need a one liner to grep a group info from /etc/group and use that result to search passwd file

/etc/group tiadm::345:mk789,po312,jo343,ju454,ko453,yx879,iy345,hn453 bin::2:root,daemon sys::3:root,bin,adm adm::4:root,daemon uucp::5:root /etc/passwd mk789:x:234:1::/export/home/dummy:/bin/sh po312:x:234:1::/export/home/dummy:/bin/sh ju454:x:234:1::/export/home/dummy:/bin/sh... (6 Replies)
Discussion started by: chidori
6 Replies

8. Shell Programming and Scripting

Shell script - group by

Hi, I have text file as shown below. root 25 oracle 25 batch 30 griduser 32 admin 35 root 25 oracle 25 batch 30 griduser 32 oracle 25 batch 30 griduser 32 xuser 45 admin 35 I want to group by based on user name, and the output need to be as below. Not necessary the username to be... (10 Replies)
Discussion started by: baladelaware73
10 Replies

9. Programming

Sql ORA-00937: not a single-group group function

I'm trying to return only one row with the highest value for PCT_MAX_USED. Any suggestions? When I add this code, I get the ORA-00937 error. trunc(max(decode( kbytes_max, 0, 0, (kbytes_alloc/kbytes_max)*100))) pct_max_used This is the original and returns all rows. select (select... (3 Replies)
Discussion started by: progkcp
3 Replies
PTS_MEMBERSHIP(1)					       AFS Command Reference						 PTS_MEMBERSHIP(1)

NAME
pts_membership - Displays the membership list for a user or group SYNOPSIS
pts membership -nameorid <user or group name or id>+ [-supergroups] [-expandgroups] [-cell <cell name>] [-localauth] [-noauth] [-force] [-help] pts m -na <user or group name or id>+ [-s] [-ex] [-c <cell name>] [-no] [-l] [-f] [-h] pts groups -na <user or group name or id>+ [-s] [-ex] [-c <cell name>] [-no] [-l] [-f] [-h] pts g -na <user or group name or id>+ [-s] [-ex] [-c <cell name>] [-no] [-l] [-f] [-h] DESCRIPTION
The pts membership command lists the groups to which each user or machine specified by the -nameorid argument belongs, or lists the users and machines that belong to each group specified by the -nameorid argument. It is not possible to list the members of the system:anyuser or system:authuser groups, and they do not appear in the list of groups to which a user belongs. To add users or machine to groups, use the pts adduser command; to remove them, use the pts removeuser command. OPTIONS
-nameorid <user or group name or id>+ Specifies the name or AFS UID of each user entry, the IP address (complete or wildcard-style) or AFS UID of each machine entry, or the name or AFS GID of each group, for which to list group membership. It is acceptable to mix users, machines, and groups on the same command line, as well as names and IDs. Precede the GID of each group with a hyphen to indicate that it is negative. -supergroups List the groups to which each group specified by the -nameorid argument belongs, in addition to user and machine members. Group membership may be nested when ptserver is compiled with the SUPERGROUPS option enabled. -expandgroups Instead of listing only the groups in which the user or machine is a direct member, list every group in which the user or machine belongs, including membership due to nested groups, for each user or machine specified by the -nameorid argument. Instead of listing groups which are members of a group, list every user and machine which is a member of a group, including the users and machines which are members due to nested groups, for each group specified by the -nameorid argument. Group membership may be nested when ptserver is compiled with the SUPERGROUPS option enabled. -cell <cell name> Names the cell in which to run the command. For more details, see pts(1). -force Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. -help Prints the online help for this command. All other valid options are ignored. -localauth Constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. Do not combine this flag with the -cell or -noauth options. For more details, see pts(1). -noauth Assigns the unprivileged identity anonymous to the issuer. For more details, see pts(1). OUTPUT
For each user and machine, the output begins with the following header line, followed by a list of the groups to which the user or machine belongs: Groups <name> (id: <AFS UID>) is a member of: For each group, the output begins with the following header line, followed by a list of the users and machines who belong to the group: Members of <group_name> (id: <AFS GID>) are: EXAMPLES
The following example lists the groups to which the user "pat" belongs and the members of the group "smith:friends". Note that third privacy flag for the "pat" entry was changed from the default hyphen to enable a non-administrative user to obtain this listing. % pts membership pat smith:friends Groups pat (id: 1144) is a member of: smith:friends staff johnson:project-team Members of smith:friends (id: -562) are: pat terry jones richard thompson The following example shows how to list the groups to which nested groups belong. In this example the group "executives" is a member of the group "management" and the group "management" is a member of the group "staff". The group "management" is called a supergroup of the group "executives" and the group "staff" is called a supergroup of the group "management". % pts membership executives Members of executives (id: -208) are: jane % pts membership executives -supergroups Members of executives (id: -208) are: jane Groups executives (id: -208) is a member of: management % pts membership management -supergroups Members of management (id: -207) are: executives mary sarah carol Groups management (id: -207) is a member of: staff % pts membership staff -supergroups Members of staff (id: -206) are: sales marketing engineering management Groups staff (id: -206) is a member of: The following example shows how to find all the users which belong to a group, including users of nested groups. In this example, the user "jane" is listed as an expanded member of the group "management" instead of the group "executives". % pts membership management -expandgroups Expanded Members of management (id: -207) are: jane mary sarah carol The following example shows how to find all the groups a user is a member of, including membership due to nested groups. In this example the user "jane" is a direct member of the group "executives". The "-expandgroups" flag shows all the groups to which "jane" has membership status. % pts membership jane Groups jane (id: 7) is a member of: executives % pts membership jane -expandgroups Expanded Groups jane (id: 7) is a member of: staff management executives PRIVILEGE REQUIRED
Members of the system:ptsviewers and system:administrators groups can always use this command in any of its variations. Additionally, a user can always list the groups to which they belong, and the owner of a group can always list the members of the group. Additional privileges may be granted by the setting of the third privacy flag in the Protection Database entry of each user or group indicated by the -nameorid argument (use the pts examine command to display the flags): o If it is a hyphen, the default permissions described above apply. o If it is lowercase "m" and the -nameorid argument specifies a group, then members of that group can also list the other members. A privacy flag of "m" only changes the permissions when set for a group. Setting this flag for a user or a machine has no effect. o If it is uppercase "M", anyone who can access the cell's database server machines can list the membership of the group or the groups to which that user or machine belongs, depending on what type of entry the flag is set on. SEE ALSO
pts(1), pts_adduser(1), pts_examine(1), pts_removeuser(1), pts_setfields(1) COPYRIGHT
IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved. This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. OpenAFS 2014-04-08 PTS_MEMBERSHIP(1)
All times are GMT -4. The time now is 03:33 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy