View the step-by-step solution to:

The task is to recurse through a subtree of the filesystem and put a file called dir.xml in each directory. You will pull data from 2 sources:

The task is to recurse through a subtree of the filesystem and put a file called dir.xml in each directory. You will pull data from 2 sources: the directory itself, and a file that may appear in each directory calledREADME .

Sample Directory

. Here is what the directory looks like:

CS:
   index.html
   Files/
   Labs/
      README
      labs.html
      1/
         README
         file1.1
         file1.2
         file1.3
         index.html
         other4
         other5
      2/
         Data/
            README
            a
            b
            c
         README
         file2.1
         file2.2
         index.html
         other1
         other4
         other5
      3/
         README
         file3.1
         file3.2
         file3.3
         file3.4
         index.html
         other4
   Lectures/
      README
      lecs.html

README

The README file may have 2 entries, each on its own line. Fields are separated by colons. Neither entry is required:

index - lists (maybe) a single file, the top-level HTML page for this directory.

required - a list of files that should be in this directory

To Do

You will write a script (or, scripts) that will take an optional argument, the directory to process. If not argument is supplied, use the current directory.

In each subdirectory (including the top-level directory on which the script was called) you will place a file called dir.xml . If it already exists, simply overwrite it. Donot include it as one of the files listed.

The root element will be direntry. It may contain up to 3 child nodes: index, required, and other. These three elements will contain text elements, either of type fileor dir.

Index and required data will be harvested from README (use AWK to parse this file). Other files will be found by taking a listing of the directory, looking for files or directories that weren't listed in README.

For example, the following file would be placed in CS265/Labs/2 :

dir.xml:

?xml version="1.0" encoding="ISO-8859-1"?>

<direntry>
   <index>
      <file>index.html</file>
   </index>
   <required>
      <file>file2.1</file>
      <file>file2.2</file>
   </required>
   <other>
      <dir>Data</dir>
      <file>other1</file>
      <file>other4</file>
      <file>other5</file>
      <file>README</file>
   </other>
</direntry>

Recently Asked Questions

Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

-

Educational Resources
  • -

    Study Documents

    Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

    Browse Documents
  • -

    Question & Answers

    Get one-on-one homework help from our expert tutors—available online 24/7. Ask your own questions or browse existing Q&A threads. Satisfaction guaranteed!

    Ask a Question