Help on capturing /etc/group info.....!!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help on capturing /etc/group info.....!!
# 8  
Old 12-01-2009
Trying to improve radoulov solution Smilie
Code:
# cat /etc/group
hostname  Groupname GID Userlist Date
myHot   operaors         54 542 542 542 542 542 542 542 user1 user9     24/11/2009
myHost  operators        542 542 542 542 542 542 542 542        user2   24/11/2009
myHost  operators        542 542 542 542 542 542 542 542        user3   24/11/2009
myHost  operators        542 542 542 542 542 542 542 542        user4   24/11/2009
myHost  operators        542 542 542 542 542 542 542 542        user5   24/11/2009
myHost  operators        542 542 542 542 542 542 542 542        user6 user7     24/11/2009

# awk -F'\t' 'NR>1{split($3, g, " ");n=split($4,u," ");for(i=0;++i<=n;){print $1,$2,g[1],u[i],$NF}next}1' OFS=\\t /etc/group
hostname  Groupname GID Userlist Date
myHot   operaors        54      user1   24/11/2009
myHot   operaors        54      user9   24/11/2009
myHost  operators       542     user2   24/11/2009
myHost  operators       542     user3   24/11/2009
myHost  operators       542     user4   24/11/2009
myHost  operators       542     user5   24/11/2009
myHost  operators       542     user6   24/11/2009
myHost  operators       542     user7   24/11/2009

OP whould watch for Useless Use of Cat Award Smilie
# 9  
Old 12-02-2009
MySQL

i'll reframe my problem...this should be easy to debug ...


Code:
bash-3.00$ A=`cat /etc/group|awk -F: '{if ($1$3 == "secur138"){print $NF}}'|sort|uniq`
bash-3.00$ echo $A
t9330sp,t0096pg,t6899bs,t2483eb,t1563dr,t6658pb t9330sp,t0096pg,t6899bs,t2483eb,t1563dr,t6658pb,smadmn,sysweb,root

See that green colored string....rest all strings(or members) are comma separated....whereas this string is not..it should have been t6658pb,t9330sp...

and its happening because

Code:
bash-3.00$  cat /etc/group|awk -F: '{if ($1$3 == "secur138"){print $NF}}'
t9330sp,t0096pg,t6899bs,t2483eb,t1563dr,t6658pb
t9330sp,t0096pg,t6899bs,t2483eb,t1563dr,t6658pb,smadmn,sysweb,root

i have two groups defined with same name and id ,but few diffrent members....

My code looks like following to capture these comma separated strings:

Code:
Host etcGroup DUP:

cat /etc/group | awk -F':' '{print $1$3}'|sort|uniq


Userlist:

A=`cat /etc/group|awk -F: '{if ($1$3 == "@@Host etcGroup.DUP@@") {print $NF}}'|sort|uniq`

B=`echo $A|wc -w`

if [ $B = 0 ]
then
echo NULL
else
count=`echo $A| nawk -F, {'print NF'}`
i=1
while [ $i -le $count ]
do
str[$i]=`echo $A| cut -d, -f${i}`
echo "${str[$i]}"
i=`expr $i + 1`
done
fi


any ideas?

Regards
Abhi
# 10  
Old 12-03-2009
MySQL

guys

any ideas/suggestions ?

Regards
Abhi
# 11  
Old 12-03-2009
To anwer your query:
Quote:
Query3:
Is it possible to define multiple groups with same name and id?
I use mutiple groups with the same GID but different names to get around the maximum string length problem, e.g.
Code:
group:x:1024:member1,member2,member3
groupa:x:1024:member4,member5,member6
groupb:x:1024:member7,member8,member9

If the have the same name then in Solaris only one of the lines would count, proof would be to run:
Code:
$ getent group <groupname>

To query the group that has two lines with the same name and GID using an OS call and see what gets listed.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Printing the user and group info

Hi All, i want to collect all the users info whose id greater than 999 and print the groups information which they belong. example : for user in $(cut -d: -f1,3 /etc/passwd | egrep ':{4}$' | cut -d: -f1); do groups $user; done centos : centos adm wheel systemd-journal balu : balu ... (2 Replies)
Discussion started by: balu1234
2 Replies

2. 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

3. Red Hat

Samba/Winbind issue - Can't get user and group info from sub domains

Hi, We now have a Samba or Winbind issue. The Linux client under RHEL6 can not get Windows' AD sub-domain info. See the following output please. The main domain 'Global' is shown online, but the sub-domain 'Europe' and 'Asia' are shown offline although they are online. Commands 'wbinfo -u' and... (0 Replies)
Discussion started by: aixlover
0 Replies

4. 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

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. Shell Programming and Scripting

capturing info between words.

Dear Friends, I am facing 2 problems while writing a script 1) I have a flat file and I want to captur specific information from it. Example I have this string in the file PACK: P42 77 UNPACK: MHTT DMK I want to capture whatever is between word PACK: and word UNPACK: including... (8 Replies)
Discussion started by: anushree.a
8 Replies

7. 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

8. Solaris

Secondary group info source

Experts, I know when I use id it shows only the primary group information for the given user, and that info comes from passwd file. When I use groups it shows all groups user are member of, however from where come information given by groups command? grep fmtt3990 /etc/passwd... (6 Replies)
Discussion started by: fmattos
6 Replies

9. 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
Login or Register to Ask a Question