ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I have a regular expression question. Currently, I am running the following command to get a list of all users on my box. How can I modify the following script to exclude users: group1, group2, group3.... I know I need to pipe it into grep, but I am unsure if this is a good approach?
But first, let's be clear about the filtering criteria. In the output of "ls -l", you have fields for file owner and for the group. Which field do you want to act on? The best thing is to post a sample output and tell us which lines you would like saved. Also, do you want to whole content of ls -l, or just the file name?
The number of fields I get back from ls -l, I am throwing into a php array with exec(), and then taking what I need from the array to write a listing. If it is possible I only need user and group.
note that in your example output you've got the username and group for the 1st 2 lines, but only the username for the 2nd 2 lines. Seems inconsistent.
Hey Chris,
It is an editted post. I did not want to post student data in my post... I will post one with users who are fake to make it easier to work with. I am trying to get only the users who do NOT have group within their username.
My point was some of your example reqd output had username & groupname, some only had username.
If you only want usernames output and only want to check usernames, then
ls -l|awk '{print $3}' |grep -v group
ie list files (long format), grab only usernames, ignore usernames containing string 'group'
BTW, usually in Linux ls -l is aliased to ll, so I'd use
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.