Script started on Sun 28 Jan 2018 01:37:46 PM EST #======================================== # 1. retrieve input file from url #======================================= linux/By@src-code w1]$ wget http://hope.simons-rock.edu/~mbarsky/c2018/lectures/linux/faculty --2018-01-28 13:38:13-- http://hope.simons-rock.edu/~mbarsky/c2018/lectures/linux/faculty Resolving hope.simons-rock.edu (hope.simons-rock.edu)... 192.168.1.17 Connecting to hope.simons-rock.edu (hope.simons-rock.edu)|192.168.1.17|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 127 Saving to: ‘faculty’ 100%[======================================>] 127 --.-K/s in 0s 2018-01-28 13:38:13 (24.7 MB/s) - ‘faculty’ saved [127/127] [mbarsky@src-code ~]$ cat faculty Campbell, Jennifer Craig, Michelle Craig, Mike Craigleith, Jim Gries, Paul Heap, Danny Horton, Diane O'Neil, Craig Reid, Karen #=================================== # 2. double each line by using cat file1 file1 > newfile #================================================== [mbarsky@src-code ~]$ cat faculty faculty > double [mbarsky@src-code ~]$ cat double Campbell, Jennifer Craig, Michelle Craig, Mike Craigleith, Jim Gries, Paul Heap, Danny Horton, Diane O'Neil, Craig Reid, Karen Campbell, Jennifer Craig, Michelle Craig, Mike Craigleith, Jim Gries, Paul Heap, Danny Horton, Diane O'Neil, Craig Reid, Karen #==================================== # 3. remove duplicates with uniq #================================== [mbarsky@src-code ~]$ uniq faculty Campbell, Jennifer Craig, Michelle Craig, Mike Craigleith, Jim Gries, Paul Heap, Danny Horton, Diane O'Neil, Craig Reid, Karen #----------------------------- # try to shuffle rows, sort -R - this does not work because is based on the hash code of each line #---------------------------- [mbarsky@src-code ~]$ sort -R double > rand_faculty [mbarsky@src-code ~]$ cat rand_faculty Reid, Karen Reid, Karen Horton, Diane Horton, Diane Heap, Danny Heap, Danny Craigleith, Jim Craigleith, Jim O'Neil, Craig O'Neil, Craig Campbell, Jennifer Campbell, Jennifer Craig, Michelle Craig, Michelle Craig, Mike Craig, Mike Gries, Paul Gries, Paul #-------------------- # use shuf #----------------- [mbarsky@src-code ~]$ shuf double > rand_faculty [mbarsky@src-code ~]$ cat rand_faculty O'Neil, Craig Craig, Mike Craig, Michelle Reid, Karen Campbell, Jennifer Craig, Michelle Horton, Diane Craigleith, Jim Gries, Paul Campbell, Jennifer O'Neil, Craig Craigleith, Jim Craig, Mike Heap, Danny Reid, Karen Gries, Paul Horton, Diane Heap, Danny [mbarsky@src-code ~]$ uniq rand_faculty O'Neil, Craig Craig, Mike Craig, Michelle Reid, Karen Campbell, Jennifer Craig, Michelle Horton, Diane Craigleith, Jim Gries, Paul Campbell, Jennifer O'Neil, Craig Craigleith, Jim Craig, Mike Heap, Danny Reid, Karen Gries, Paul Horton, Diane Heap, Danny #-------------------------- # uniq only works on sorted file #---------------------------------- [mbarsky@src-code ~]$ sort rand_faculty | uniq Campbell, Jennifer Craigleith, Jim Craig, Michelle Craig, Mike Gries, Paul Heap, Danny Horton, Diane O'Neil, Craig Reid, Karen #================================ # 3. grep #========================== [mbarsky@src-code ~]$ grep craig faculty #case-sensitive - use option -i to change that [mbarsky@src-code ~]$ grep Craig faculty Craig, Michelle Craig, Mike Craigleith, Jim O'Neil, Craig [mbarsky@src-code ~]$ grep -w Craig faculty Craig, Michelle Craig, Mike O'Neil, Craig [mbarsky@src-code ~]$ grep ^Craig faculty Craig, Michelle Craig, Mike Craigleith, Jim [mbarsky@src-code ~]$ grep -w ^Craig faculty Craig, Michelle Craig, Mike [mbarsky@src-code ~]$ sort faculty | head K-1 Campbell, Jennifer [mbarsky@src-code ~]$ sort faculty | tail -1 Reid, Karen #============================== # 4. redirect std output and std error to files #============================================== [mbarsky@src-code ~]$ ps PID TTY TIME CMD 24934 pts/3 00:00:00 bash 25283 pts/3 00:00:00 ps [mbarsky@src-code ~]$ ps | wc -l 4 [mbarsky@src-code ~]$ ps | wc K> ps_res [mbarsky@src-code ~]$ cat ps_res 4 16 111 [mbarsky@src-code ~]$ ps | wc -x >ps_res 2>ps_err [mbarsky@src-code ~]$ cat ps_res [mbarsky@src-code ~]$ cat ps_err wc: invalid option -- 'x' Try 'wc --help' for more information. [mbarsky@src-code ~]$ exit exit