ypcat passwd | cut -d: -f5 | grep -w Ho ypcat passwd | cut -d: -f5 | grep -w Ho | grep-v " Ho " *Bourne Shell syntax FIRST=Dik LAST=Lee ypcat passwd | grep -w "$FIRST $LAST" ALEX="Alex Kean's Project" ypcat passwd | grep -w "$ALEX" | cut -d: -f1
Pay attention to the use of double quotes to include spaces into a pattern, to hide the effect of single quote. Try
ALEX=Alex Kean's Projectand
grep -w $ALEXand see why it doesn't work.
Note: The answer has already assumed the berkeley version of tr.
:::::::::::::: input :::::::::::::: What is Life? Perhaps,we will never know what life is! :::::::::::::: lab6 :::::::::::::: cat input | tr -sc '[A-Z][a-z]' '\012' | tr '[A-Z]' '[a-z]' | \ sort | uniq -c | sort +0r -1 Explanation: cat input # show the content of file tr -sc '[A-Z][a-z]' '\012' # subsitute all non-English characters # to newline character (012) (assumed /usr/ucb/tr) tr '[A-Z]' '[a-z]' # subsitute all upper case letter to lower case sort | uniq -c # "standard" for counting uniq lines sort +0 -1 -r # sort according to field 0 in reverse order :::::::::::::: output :::::::::::::: 2 is 2 life 2 what 1 know 1 never 1 perhaps 1 we 1 will :::::::::::::: reference :::::::::::::: man tr ...... -c Complement the set of characters in string1 with respect to the universe of characters whose ASCII codes are 01 through 0377 octal; -d Delete all input characters in string1. -s Squeeze all strings of repeated output characters that are in string2 to single characters. ...... man sort ...... lating sequence is the ASCII character set. Lines can also be sorted according to the contents of one or more fields specified by a sort-field, specification, using the +sw (starting-word), -ew (end-at-word), and the -tc (set-TAB- ......