А вообще, не ожидал немного. Так что git rebase && push -f с пуллреквестом попортили слегка историю коммитов, разбирался с тем, что на гитхабе скрин закешировался старый.
Я сам удивился. Вот здесь бывает. Под рукой никакого другого терминала не было, кроме этой забавной штуковины. Да и запускается оно в контейнере как раз таки, судя по всему.
Здорово, git clone там не смогло из-за чего-то, зато wget'ом загрузил archive/master.zip, распаковал, играет даже с полной цветовой схемой. А which и правда нету.
Именно поэтому я ищу gsed и проверяю, что он смог работать с -r.
$ ./sfb.sh full
/usr/bin/sed: illegal option -- r
usage: sed script [-Ealn] [-i extension] [file ...]
sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]
Your 'sed' implementation isn't compatible with GNU sed well.
Я пробовал sed во freebsd, там есть -r с комментарием что сделано для совместимости с gsed, что-то такое. Печально, но ваш sed видимо слишком стар. Не уверен, но что-то я вроде бы использовал, требующее -r. Кроме () без \, конечно.
Код оформлен плохо (регулярки это хорошо, но наглядность хромает), функции лучше вперед вынести, для наглядности. А вообще задачка приятная для начинающих первокурсников, вот только зачем bash? Как ЯП он только на Linux-ах и бздях востребован, да и то по админской части. Лучше Java, C#, C++, Python, C, PHP.
Bash ни зачем. Он там не нужен, требовалось писать на sed. Предмет (Системное ПО) включает в себя как изучение Unix, так и потоковых редакторов, на которые некоторым выдаются дополнительные задания, вроде этого.
Для джавы, сей и прочего есть отдельные предметы, так что всему своё место.