Browse Source

feat(change-struct): add subject, test and solution for new a exercise

pull/1658/head
miguel 2 years ago committed by MSilva95
parent
commit
ae0847fbcd
  1. 16
      sh/tests/change-struct_test.sh
  2. 0
      sh/tests/solutions/new-struct/0_to_3/3/text.txt
  3. 0
      sh/tests/solutions/new-struct/4/text2.txt
  4. 0
      sh/tests/solutions/new-struct/A/text3.txt
  5. BIN
      sh/tests/solutions/new-struct/done.tar
  6. 79
      subjects/change-struct/README.md

16
sh/tests/change-struct_test.sh

@ -0,0 +1,16 @@
#!/usr/bin/env bash
# Unofficial Bash Strict Mode
set -euo pipefail
IFS='
'
print_content() {
mkdir -p uncompressed
tar -xpf done.tar -C uncompressed
tree uncompressed
}
submitted=$(cd student/new-struct && print_content)
expected=$(cd solutions/new-struct && print_content)
diff <(echo "$submitted") <(echo "$expected")

0
sh/tests/solutions/new-struct/0_to_3/3/text.txt

0
sh/tests/solutions/new-struct/4/text2.txt

0
sh/tests/solutions/new-struct/A/text3.txt

BIN
sh/tests/solutions/new-struct/done.tar

diff.bin_not_shown

79
subjects/change-struct/README.md

@ -0,0 +1,79 @@
## Change struct
You need to rearrange the file structure that you created earlier in the "file-struct" exercise.
Here is an example of how to move, rename, copy and delete a file or repo:
**_Copy_**
```console
cp `file to copy` `path of destination`
cp -r `repo to copy` `path of destination`
```
**_Move or Rename_**
```console
User-> mv `file to move` `path of destination`
User-> mv -r `repo to move` `path of destination`
User-> ls
text.txt old_repo
User-> mv text.txt new_text.txt
User-> mv old_repo new_repo
User-> ls
new_text.txt old_repo
```
**_Delete_**
```console
User-> rm `file to remove`
User-> rm -r `repo to remove`
```
### Instructions
Use those commands to create the following file structure:
- Copy the `struct` repo that you created and change its name to `new_struct`.
- Create the `0_to_3` and `6_to_9` folders.
- Move the folder `0, 1, 2 and 3` inside the `0_to_3` folder.
- Move the folder `6, 7, 8 and 9` inside the `6_to_9` folder.
- Remove the folder `5`.
- Rename the folder `10`, to `new_folder`
- Copy the folder `1` inside the folder `8`
In this exercise you wil use the command `tree` to see the file structure as in the example bellow. `tree` is a recursive directory listing program that produces a depth-indented listing of files. With no arguments, `tree` lists the files in the current directory.
```console
User-> tree new-struct/
new-struct/
├── 0_to_3
   ├── 0
   ├── 1
   ├── 2
   └── 3
   └── text.txt
├── 4
   └── text2.txt
├── 6_to_9
   ├── 6
   ├── 7
   ├── 8
   └── 9
└── A
└── text3.txt
```
Once it is done, use the command below to create the file `done.tar` to be submitted.
```console
User-> tar -cf done.tar *
User-> ls new-struct/
0_to_3 4 6_to_9 A done.tar
```
**Only `done.tar` should be submitted.**
**Tips:**
Use the command `man <name of the command>` to get more info on some command that you need to use.
Loading…
Cancel
Save