Browse Source

feat(right): add subject, test and solution for the exercise

pull/1720/head
miguel 2 years ago committed by MSilva95
parent
commit
5245101b91
  1. 0
      sh/tests/right/sample1.txt
  2. 0
      sh/tests/right/sample2
  3. 0
      sh/tests/right/sample3.txt
  4. 0
      sh/tests/right/sample4
  5. 18
      sh/tests/right_test.sh
  6. 1
      sh/tests/solutions/right.sh
  7. 28
      subjects/devops/right/README.md

18
sh/tests/right_test.sh

@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Unofficial Bash Strict Mode
set -euo pipefail
IFS='
'
FILENAME="student/right.sh"
script_dirS=$(cd -P "$(dirname "$BASH_SOURCE")" &>/dev/null && pwd)
challenge() {
submitted=$(cd "$1" && bash "$script_dirS"/$FILENAME)
expected=$(cd "$1" && bash "$script_dirS"/solutions/right.sh)
diff <(echo "$submitted") <(echo "$expected")
diff $1"/filtered_files_sol.txt" $1"/filtered_files.txt"
}
challenge right

1
sh/tests/solutions/right.sh

@ -0,0 +1 @@
ls | grep -v "\.txt" >filtered_files_sol.txt

28
subjects/devops/right/README.md

@ -0,0 +1,28 @@
## right
### Instructions
Create a file `right.sh` that will get the output of a file and parse it, and then write it to a file with a specific format using a single command.
Get the output of the `ls` command, parse it with the `grep` command to filter for files without a `.txt` extension, and write the output to a file called `filtered_files.txt`, check the example bellow:
### Usage
```console
$ ls -l
sample1.txt sample2 sample3.txt sample4
$ ./right.sh
$ cat filtered_files.txt
sample2
sample4
$
```
### Hints
command1 | command2 > output_file
Here, command1 is the command that generates the output you want to parse, and command2 is the command that parses the output. The output of command2 will be redirected to the file output_file using the > operator.
> You have to use Man or Google to know more about commands flags, in order to solve this exercise!
> Google and Man will be your friends!
Loading…
Cancel
Save