Готово.
Просто запустите скрипт в файле:
sed -f script.sed inputfile
Пример:
$ cat file
Kusalananda
$ sed -f script.sed file
-.-..-....-.-...--..--.-...-
Единственное, что стоит прокомментировать в вашем скрипте, это то, что точки не нужно экранировать, когда они встречаются в замещающем тексте, и скрипт не обрабатывает пунктуацию. Вы можете дополнительно заканчивать каждый код пробелом или каким-либо другим символом для облегчения декодирования.(s/\(.\)/\1 /g
сделал бы это, если бы вы запускали это в качестве первой инструкции ).
Вы также можете обойти необходимость использования [Aa]
для каждой буквы, назначив первой инструкции
s/\([A-Z]\)/\L\1/g
Для этого потребуется GNU sed
, но все буквы будут преобразованы в нижний регистр.
В не -GNU sed
следующее будет строчными буквами все буквы:
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
При желании можно добавить
#!/usr/bin/sed -f
как самую верхнюю строку скрипта и сделать ее исполняемой. Это позволит вам запустить скрипт как
./script.sed file
при условии, что путь к sed
указан правильно в строке #!
-. Конечно, вы также можете избавиться от расширения .sed
в имени файла. Это ничего не делает.
Эта проблема была вызвана тем, что я переключил свой sources.list на тестирование, а затем снова изменил его на стабильный, по сути, оставив половину моих пакетов стабильными версиями, а половину — нестабильными.
Чтобы исправить это, я изменил свой sources.list, чтобы он был жестко запрограммирован на конкретное имя версии, которую тестирует в данный момент (яблочко ), а затем обновил все свои пакеты. Это решило проблему.
Поскольку debian не поддерживает понижение версии пакетов, я на некоторое время застряну на тестировании. Однако, поскольку я жестко запрограммировал название версии, как только яблочко станет стабильным, я снова вернусь к стабильной версии. Затем я могу обновить свой sources.list до «стабильного» и остаться там.
Вы используете не только debian/sid, нестабильную версию Debian, но и Bullseye, который еще не был официально выпущен. стабильная версия.Нестабильная версия никогда не будет выпущена, на самом деле она не предназначена для «работы», может подвергнуться массовым изменениям, и есть значительный шанс, что она заманит вас в ловушку ада зависимостей. Вы можете прочитать больше об этом здесь :https://www.debian.org/releases/sid/. Все это сговорчиво помещает вас в то, что вы испытываете прямо сейчас.
Если вам нужна работающая система, лучшее, что вы можете сделать, это установить стабильную версию Debian, такую как Buster, и убедиться, что у вас установлены репозитории только для этой конкретной версии.