Question: Using GREP and SED to retrieve information from 2 files. Cannot use AWK. Challenge PART ONE: (also Called Part A) We need a way to
Using GREP and SED to retrieve information from 2 files. Cannot use AWK.
Challenge PART ONE: (also Called Part A)
We need a way to identify user accounts that haven't been used in a while.
The lastlog tool has already been used to make (2) files that show when the last time users logged in was, for each of the two servers. The file names are lastlog1.out and lastlog2.out.
File contents are similar to this:

Find anyone who has either not logged in or hasn't logged in during 2017 for each of those lastlog files. In the example above, the following users meet the criteria: ums562, xyz222, fernandez, and ytang. The result file should only contain user IDs.
The intersection of those result files gives us the people who didn't log into both of those servers during the desired time.
Matching on 2017.
Where is the 2017 we want to match which indicates that the user logged in during 2017? If we just match "2017", it could match actual login IDs that contain 2017 who haven't logged in during 2017.
Intersection.
Use grep -f to help with getting the intersection. Unfortunately, some login IDs like "lp" could match an id like "lpt913". There are several ways to avoid this problem. Consider having two different sed scripts (one for each of the lastlog?.out files). One of the scripts could produce output which tell the pattern to match to the end of the line:
ytang$
lp$
The other sed script produces user IDs without the "$". Now the pattern lp$ doesn't match lpt913.
Challenge PART TWO: sed, cat, sort, and uniq -c (also called Part B)
For this problem, we will want to get the same result, but with a different approach. Using one of the sed scripts from problem A, we can produce two files of user IDs that either have not logged in or haven't logged in during 2017 (i.e., we won't have a pattern like "lp$" in our files).
Suppose we cat those files together and sort them.
We can use uniq -c to get a count of each unique value
We can then use sed to include only user IDs with a count of 2 and also remove the count.
Although not required, you probably should diff the outputs of the two solutions. Note that you may have to sort the output of problem A before doing the diff.
Should end up with these files:
p2aDollar.sed - produces a user ID file as described above with a $ after the user IDs for use as a pattern file
p2a.sed - produces a user ID file as described above. It doesn't have the dollar sign in the output.
p2a.bash - bash file for running Challenge 1. The final result should be placed in "p2a.out". This bash script will use p2aDollar.sed, and grep -f command.
p2b.sed - removes text lines containing 1 for the count. It also removes the count values of 2 to leave just the user IDs.
p2b.bash - bash file for running Challenge 2. The final result should be placed in "p2b.out". This uses p2a.sed, sort, uniq, and p2b.sed.
**Never logged in** ums562 xyz222 fernandez rslavin clark tang pts/3 173.227.72.99Sun Aug 7 11:39:56 -050e 2015 pts/11 nee0ed193.cs.uts Wed Jan 13 11:13:49 -0600 2016 pts/2 104.218.77.194 Te Aug 15 10:11:37 -0500 2017 pts/8 172.24.141.44Fri Aug 18 13:07:29 -0500 2017 **Never logged in**
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
