diff --git a/week-08/Llewellyn_week8.txt b/week-08/Llewellyn_week8.txt new file mode 100644 index 0000000..897dd19 --- /dev/null +++ b/week-08/Llewellyn_week8.txt @@ -0,0 +1,26 @@ +# Week 8: Assignment - Modifying 'datebook' file +# by Llewellyn van der Merwe + +1) sed -i 's/\bJon\b/Jonathan/g' datebook.txt + +2) sed -i -e '1,3d' datebook.txt + +3) sed -n '5,10'p datebook.txt + +4) sed -i '/Lane/d' datebook.txt + +5) grep -E '(([^0-9]|^)12/([1-9]|[1-2][0-9]|0[1-9]|3[01])|([^0-9]|^)11/([1-9]|[1-2][0-9]|0[1-9]|30))/([0-9][0-9]|[0-9][0-9][0-9][0-9])([^0-9]|$)' datebook.txt + +6) sed -i 's/^Fred.*/&***/g' datebook.txt + +7) sed -E -i 's/([^a-Z]|^)Jose([[:space:]][[:upper:]]\w+)(.*)?/JOSE HAS RETIRED/g' datebook.txt # just the line where Jose is a name + sed -E -i 's/(.*)?Jose(.*)?/JOSE HAS RETIRED/g' datebook.txt # all lines containing Jose + +8) sed -E -i '/([^a-Z]|^)Popeye[[:space:]][[:upper:]]\w+/ s/([^0-9]|^)(1[0-2]|[1-9])\/([1-2]?[0-9]|3[01])\/([0-9][0-9])([^0-9]|$)/\111\/14\/46\5/' datebook.txt + +9) sed -i '/^$/d' datebook.txt + +10.a) mysedscript.sh + sudo chmod +x mysedscript.sh + ./mysedscript.sh datebook.txt +10.b) sed -E -i -f script.sed datebook.txt diff --git a/week-08/datebook.bak.txt b/week-08/datebook.bak.txt new file mode 100644 index 0000000..3a0f626 --- /dev/null +++ b/week-08/datebook.bak.txt @@ -0,0 +1,27 @@ +Steve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300 +Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500 +Igor Chevsky:385-375-8395:3567 Populus Place, Caldwell, NJ 23875:6/18/68:23400 +Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700 +Jennifer Cowan:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900 +Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 +Karen Evich:284-758-2857:23 Edgecliff Place, Lincoln, NB 92743:7/25/53:85100 +Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 +Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 +Fred Fardbarkle:674-843-1385:20 Parak Lane, Duluth, MN 23850:4/12/23:780900 +Fred Fardbarkle:674-843-1385:20 Parak Lane, Duluth, MN 23850:4/12/23:780900 +Lori Gortz:327-832-5728:3465 Mirlo Street, Peabody, MA 34756:10/2/65:35200 +Paco Gutierrez:835-365-1284:454 Easy Street, Decatur, IL 75732:2/28/53:123500 +Ephram Hardy:293-259-5395:235 CarltonLane, Joliet, IL 73858:8/12/20:56700 +James Ikeda:834-938-8376:23445 Aster Ave., Allentown, NJ 83745:12/1/38:45000 +Barbara Kertz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/1/46:268500 +Lesley Kirstin:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62:52600 +William Kopf:846-836-2837:6937 Ware Road, Milton, PA 93756:9/21/46:43500 +Sir Lancelot:837-835-8257:474 Camelot Boulevard, Bath, WY 28356:5/13/69:24500 +Jesse Neal:408-233-8971:45 Rose Terrace, San Francisco, CA 92303:2/3/36:25000 +Zippy Pinhead:834-823-8319:2356 Bizarro Ave., Farmount, IL 84357:1/1/67:89500 +Arthur Putie:923-835-8745:23 Wimp Lane, Kensington, DL 38758:8/31/69:126000 +Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350 +Jose Santiago:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600 +Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200 +Yukio Takeshida:387-827-1095:13 Uno Lane, Ashville, NC 23556:7/1/29:57000 +Vinh Tranh:438-910-7449:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900 diff --git a/week-08/datebook.txt b/week-08/datebook.txt new file mode 100644 index 0000000..6cfee14 --- /dev/null +++ b/week-08/datebook.txt @@ -0,0 +1,27 @@ +Steve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300 +Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500 +Igor Chevsky:385-375-8395:3567 Populus Place, Caldwell, NJ 23875:6/18/68:23400 +Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700 +Jennifer Cowan:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900 +Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100 +Karen Evich:284-758-2857:23 Edgecliff Place, Lincoln, NB 92743:7/25/53:85100 +Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 +Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200 +Fred Fardbarkle:674-843-1385:20 Parak Lane, Duluth, MN 23850:4/12/23:780900 +Fred Fardbarkle:674-843-1385:20 Parak Lane, Duluth, MN 23850:4/12/23:780900 +Lori Gortz:327-832-5728:3465 Mirlo Street, Peabody, MA 34756:10/2/65:35200 +Paco Gutierrez:835-365-1284:454 Easy Street, Decatur, IL 75732:2/28/53:123500 +Ephram Hardy:293-259-5395:235 CarltonLane, Joliet, IL 73858:8/12/20:56700 +James Ikeda:834-938-8376:23445 Aster Ave., Allentown, NJ 83745:12/1/38:45000 +Barbara Kertz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/1/46:268500 +Lesley Kirstin:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62:52600 +William Kopf:846-836-2837:6937 Ware Road, Milton, PA 93756:9/21/46:43500 +Sir Lancelot:837-835-8257:474 Camelot Boulevard, Bath, WY 28356:5/13/69:24500 +Jesse Neal:408-233-8971:45 Rose Terrace, San Francisco, CA 92303:2/3/36:25000 +Zippy Pinhead:834-823-8319:2356 Bizarro Ave., Farmount, IL 84357:1/1/67:89500 +Arthur Putie:923-835-8745:23 Wimp Lane, Kensington, DL 38758:8/31/69:126000 +Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350 +Jose Santiago:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600 +Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200 +Yukio Takeshida:387-827-1095:13 Uno Lane, Ashville, NC 23556:7/1/29:57000 +Vinh Tranh:438-910-7449:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900 diff --git a/week-08/mysedscript.sh b/week-08/mysedscript.sh new file mode 100755 index 0000000..c875f92 --- /dev/null +++ b/week-08/mysedscript.sh @@ -0,0 +1,6 @@ +#/bin/bash + +sed -i '1 i\PERSONNEL FILE' $1 +sed -i '/[[:digit:]]500$/d' $1 +sed -E 's/([^a-Z]|^)([[:upper:]]\w+)[[:space:]]([[:upper:]]\w+)/\3 \2/' $1 +sed -i '$a\THE END' $1 diff --git a/week-08/script.sed b/week-08/script.sed new file mode 100644 index 0000000..03ed3fd --- /dev/null +++ b/week-08/script.sed @@ -0,0 +1,4 @@ +1 i\PERSONNEL FILE +/[[:digit:]]500$/d +s/([^a-Z]|^)([[:upper:]]\w+)[[:space:]]([[:upper:]]\w+)/\3 \2/ +$a\THE END