Program accepts a path to a directory

Assignment Help Programming Languages
Reference no: EM131030604

Run these commands to get the assignment:

cd ~/unix
cp ~parson/unix/shell3_2016.problem.zip shell3_2016.problem.zip unzip shell3_2016.problem.zip
cd ./shell3_2016

Read the README.txt file for all of your instructions and follow them.
Turn it in via make turnitin to avoid the 10% per-late-day penalty.

README.txt:

# shell3_2016.sh -- D. Parson solution to assignment 3, CSC 352 Unix
# Spring 2016. This program accepts a path to a DIRECTORY as its first
# command line argument, followed by one or more string PATTERNs
# as the remaining command line arguments.
#
# It must verify that it has at least 2 initial command line arguments
# (the DIRECTORY and at least one PATTERN), and that the DIRECTORY is
# in fact a directory. If any of these conditions fails, report an error
# TO STANDARD ERROR and exits the script with an exit status of 1.
# Otherwise proceed:
#
# For each string pattern, it calls a shell function search() which
# you must write, that does the following:

# search() -- accept the DIRECTORY and current PATTERN as function arguments.
# You can pass any additional arguments that you decide are necessary.
# Find all of the *regular files* within and below the DIRECTORY
# For each of those regular files
# Run the file command and egrep for the pattern.
# If the output from the file command satisfies the
# egrep pattern, then:
# Add 1 to a counter for the number of file types matching PATTERN.
# Accumulate the number of lines in the file itself
# in a variable. Do NOT accumulate the number of lines
# written by the file command, which is always 1.
# Accumulate the number of lines in the file.
# Accumulate the number of words in the file itself in a
# different variable.
# Accumulate the number of characters in the file itself in a
# third variable.
# The search() function returns these four counters to the main
# shell code that calls the function.
# The main code must print the results in a format in the
# EXACT format of my .ref reference files, with NO EXTRA OR
# MISSING CHARACTERS. You will lose a minimum of 10 points for any
# formatting diffs, because these defeat the ability to run automated
# tests. The EXACT format of your output statement lines must be:
#
# PATTERN NF files, NL lines, NW words, NC chars
#

# Do not print the leading "# " above; PATTERN is the
# actual pattern being checked; NF is the integer number of files
# matching the pattern; NL is the integer numbers of lines,
# NW is the number of words, and NC is the number of characters,
# each separated by exact one space, with no trailing spaces.
# Consult my reference file AdvDataStructures.ref to see the format.
# My "make test" runs your shell script against ~parson/AdvDataStructures
# for automated testing. It also does some test runs for error conditions.
#
# Here are 2 examples of using the file and egrep command together:
#
# file * | egrep directory > /dev/null ; echo $?
# 0
#
# file * | egrep hamburger > /dev/null ; echo $?
# 1
#
# In the first example, the output from the file command did
# contain one or more lines with the PATTERN "directory", so
# egrep succeeded with an exit status of 0; the egrep command above
# discards the actual lines of text because we don't need those.
# In the second example, the pattern did not match, hence the
# egrep exit status that is non-0. Note that you will be checking
# only *regular files* under DIRECTORY found using the find command,
# not "file *".
#
# You can use last year's shell3.sh in ~parson/unix/shell3.solution.zip
# as a temp[late for writing your search() function.
#
# This assignment is due via "make turnitin" by end of April 16.
#
# After reporting one PATTERN's results, the main code loops to the next
# PATTERN (if any) and calls search() again, until it has run through
# all PATTERNs on its command line. It then terminates with an exit
# status of 0.
#
# NOTE: In addition to using && and || to connect tests in a shell
# script, you can use ! with the [ ] brackets to invert the test.
# Examples:
#
# [ -f .. ] ; echo $?
# 1
# [ ! -f .. ] ; echo $?
# 0

Reference no: EM131030604

Questions Cloud

Explain the circumstances of the crime : Explain the circumstances of the crime. Describe the investigative process. Describe the circumstances of the arrest. Describe the process beginning with arraignment through sentencing.
Analyze the yelp 2016 challenge dataset : You must use Hadoop technologies to analyze the Yelp 2016 challenge dataset - Summarize the number of reviews by US city, by business category.
Determine the final temperature of the air : Determine the final temperature of the air. Neglect the energy stored in the paddle wheel.
Determine the amount of heat loss : A piston-cylinder device contains 25 ft3 of nitrogen at 40 psia and 700°F. Nitrogen is now allowed to cool at constant pressure until the temperature drops to 200°F. Using specific heats at the average temperature, determine the amount of heat los..
Program accepts a path to a directory : CSC 352, Unix Systems, Spring 2016, Run the file command and egrep for the pattern - This program accepts a path to a DIRECTORY as its first and command line argument, followed by one or more string PATTERNs
Identify all the possible variables and parameters : Describe the structure of the formula you would like to propose for management and identify all the possible variables and parameters which may play a role in such a formula.
Discuss the advantages and disadvantages of cloud computing : To develop knowledge and understanding of cloud computing. Discuss the advantages and disadvantages of cloud computing. Identifythe key ideas from the materials.
Prepare advertisement for position that complies federal law : Prepare an advertisement for that position that complies with federal law. This advertisement must be detailed. The minimum length of your job description must be 300 words (approximately three-fourths of a page).
Determine the amount of boundary work done : A piston-cylinder device contains 3 ft3 of air at 60 psia and 150°F. Heat is transferred to the air in the amount of 40 Btu as the air expands isothermally. Determine the amount of boundary work done during this process.

Reviews

Write a Review

Programming Languages Questions & Answers

  Create a third subclass called phone

Key in the PolyMain, Book, Almanac, and Novel classes defined in this module of the course. Once you get each of these classes keyed in, make sure they compile and execute properly.

  Write a program that asks the user to answer some questions

Write a program that asks the user to answer some questions. First, you should ask the user if they want to load answers from a previously saved file. If they respond yes you should look for the file name of your choosing in the path of your choos..

  Create a script file that generates a row vector

Create a script file that generates a row vector of 10 random numbers from 5 to 15 - Call your function using your array of random numbers and the scalar value of 22.

  Write calendar application which allows user to select date

The purpose of this lab is to give you a chance to use some of the data stream tools we have been discussing in a simple application. The assignment is to write a calendar application which allows the user to select a date, and either retrieve a p..

  How many school districts are there in your sample

How many school districts are there in your sample? How many schools are there in the district with the largest number of schools? How many schools are there in the district with the smallest number of schools?

  Write program which uses while loops to input two integers

Write the program which uses while loops to perform the following steps: prompt the user to input two integers: firstNum and secondNum.(firstNum must be less than secondNum.

  Create the application to enter-search-edit information

You are neede to create the application to enter, search, edit and view personnel information of staff in company. This application is used by Human Resource, staff and administrator of application.

  Example on message-passing style

Write a procedure that produces independent first-in-first-out queue objects, using a message-passing style.

  Write standalone program with recursive method string

Write a standalone program "TransformCharacters.java" with a recursive method String string changeCharacters(String string) that takes as an argument a string.

  Design program to asks for number of fat grams

Design a program that asks for the number of fat grams and calories in a food item. Validate the input as follows: Make sure the number of fat grams and calories are not less than 0.

  Write a program that takes a single directory as an argument

Write a program that takes a single directory as an argument, and iterates through all the normal files in the directory, and concatenate them to standard out.

  Find the sum and difference for numbers

Write a program that prompts the user for two numbers, finds the sum and difference for those numbers and displays a descriptive label for each computation by calling two different functions. Use Function Prototypes.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd