From 8b4b5107bc40aa8e4d5dfece7b582494c7cde068 Mon Sep 17 00:00:00 2001 From: braxtonhall Date: Mon, 24 Oct 2022 23:04:53 -0700 Subject: Ruin my poor disk --- entries/braxtonhall/wc/.gitignore | 1 + entries/braxtonhall/wc/fib.sh | 18 ++++++++++++++++++ people.json | 4 ++++ 3 files changed, 23 insertions(+) create mode 100644 entries/braxtonhall/wc/.gitignore create mode 100644 entries/braxtonhall/wc/fib.sh diff --git a/entries/braxtonhall/wc/.gitignore b/entries/braxtonhall/wc/.gitignore new file mode 100644 index 0000000..f845a7d --- /dev/null +++ b/entries/braxtonhall/wc/.gitignore @@ -0,0 +1 @@ +*.fib \ No newline at end of file diff --git a/entries/braxtonhall/wc/fib.sh b/entries/braxtonhall/wc/fib.sh new file mode 100644 index 0000000..c909617 --- /dev/null +++ b/entries/braxtonhall/wc/fib.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +rec () { + shopt -s nullglob dotglob + + if [ $2 == "0" ]; then + : + elif [ $2 == "1" ]; then + echo "🥵" > "$1/$2.fib" + else + mkdir "$1/$2" + rec "$1/$2" $(($2 - 1)) + rec "$1/$2" $(($2 - 2)) + fi +} + +rec $(pwd) $1 +find $(pwd)/$1 -type f | wc -l diff --git a/people.json b/people.json index 60654a5..6ea11aa 100644 --- a/people.json +++ b/people.json @@ -30,6 +30,10 @@ { "name": "types", "link": "./entries/braxtonhall/types/index.ts" + }, + { + "name": "wc", + "link": "./entries/braxtonhall/wc/fib.sh" } ] }, -- cgit v1.2.3-70-g09d2 From ccfa3ef5a9d811a003d6fa9701b9f1e27f44ce33 Mon Sep 17 00:00:00 2001 From: braxtonhall Date: Mon, 24 Oct 2022 23:36:28 -0700 Subject: Make wc a little bit safer --- entries/braxtonhall/wc/fib.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/entries/braxtonhall/wc/fib.sh b/entries/braxtonhall/wc/fib.sh index c909617..fc419b3 100644 --- a/entries/braxtonhall/wc/fib.sh +++ b/entries/braxtonhall/wc/fib.sh @@ -1,18 +1,22 @@ #!/bin/bash -rec () { - shopt -s nullglob dotglob +function rec () { if [ $2 == "0" ]; then : elif [ $2 == "1" ]; then - echo "🥵" > "$1/$2.fib" + [ -f "$1/$2.fib" ] || echo "🥵" > "$1/$2.fib" else - mkdir "$1/$2" + [ -d "$1/$2" ] || mkdir "$1/$2" rec "$1/$2" $(($2 - 1)) rec "$1/$2" $(($2 - 2)) fi } -rec $(pwd) $1 -find $(pwd)/$1 -type f | wc -l +if [[ $1 =~ ^[0-9]+$ ]]; then + rec $(pwd) $1 + find $(pwd)/$1 -type f | wc -l +else + echo "Please provide a natural number!" + exit 1 +fi -- cgit v1.2.3-70-g09d2