Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Project #6 Perl This assignment has two parts. Each part must be done using Perl. Part A find.pl Create the script find.pl which searches for

Project #6 Perl This assignment has two parts. Each part must be done using Perl. Part A find.pl Create the script find.pl which searches for files in a directory list based on a regular expression pattern: If the file name matches, print that file name. If the file name doesn't match, it should look for instances of the regular expression within the text of the file. If found, it should print the filename, a colon, and the text for the first line that contained that pattern. If the i option is passed, the script should return the opposite files (i.e., those which do not match the expression in file name or contents). The script should be invoked with the following format:

find.pl i perlRegexpPattern listOfFiles where i is optional.

Example data is located in /usr/local/courses/clark/cs3423/2017Fa/Proj6/ For part A, copy those into a directory named "DataA".

Example: For a directory, DataA, containing the following files:

input.txt proj1.c proj1.o proj12.c projPerl1.input projZ.c projZ.h trash.txt

Assuming input.txt contains the following text: Hello World This is input for proj1 Test data

find.pl should behave in the following way (the order of the files is insignificant):

$ find.pl ".*proj1.*" DataA/* input.txt:This is input for proj1 proj1.c proj1.o proj12.c

$ find.pl i ".*proj1.*" DataA/* projPerl1.pl projPerl1.input projZ.c projZ.h trash.txt

Part B projectSorter.pl Assume you have a directory filled with random files including some project files beginning with the string "proj" (e.g., proj1.c, projB.o, proj12.h) and no directories. Create a script which places each file into a corresponding project directory titled assignmentXXX where XXX is replaced with whatever follows the string proj in the file, not including the extension. Any other files not beginning with proj should be placed into a misc directory. The script should be invoked with the following format:

$projectSorter.pl directory

Example data is located in /usr/local/courses/clark/cs3423/2017Fa/Proj6/ For part B, copy those into a directory named "DataB".

Example: For a directory, DataB, containing the following files:

input.txt proj1.c proj1.o projPerl1.input projZ.c projZ.h trash.txt

Executing: $ projectSorter DataB produces the following file structure in DataB: assignment1/ proj1.c proj1.o assignment12/ proj12.c assignmentPerl1/ projPerl1.perl projPerl1.input assignmentZ/ projectZ.c projectZ.h misc/ input.txt trash.txt

Notes for partB: The glob function can be useful in getting the contents of the specified directory. You will probably need to use `expression` to invoke Linux commands to create directories and move files.

What to turn in A LastnameFirstname.zip file containing: o find.pl Perl script for part A. o projectSorter.pl Perl script for part B.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts International Edition

Authors: David M. Kroenke

6th Edition International Edition

0133098222, 978-0133098228

More Books

Students also viewed these Databases questions

Question

10:16 AM Sun Jan 29 Answered: 1 week ago

Answered: 1 week ago