Você terminou.
Basta executar seu script em um arquivo:
sed -f script.sed inputfile
Exemplo:
$ cat file
Kusalananda
$ sed -f script.sed file
-.-..-....-.-...--..--.-...-
A única coisa que vale a pena comentar em seu script é que os pontos não precisam ser ignorados quando ocorrem no texto de substituição, e o script não controla a pontuação. Você também pode querer finalizar cada código com um espaço ou algum outro caractere para facilitar a decodificação ( s/\(.\)/ /g
faria isso se você executasse isso como uma primeira instrução).
Você também pode ignorar o uso de [Aa]
para cada letra, deixando a primeira instrução
s/\([A-Z]\)/\L/g
Isso exigiria o GNU sed
, mas converteria todas as letras para minúsculas.
Em não-GNU sed
, os seguintes caracteres seriam minúsculos:
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
Se você quisesse, poderia adicionar
#!/usr/bin/sed -f
como a linha superior do script e torná-lo executável. Isso permitiria que você executasse o script como
./script.sed file
desde que o caminho para sed
esteja correto na #!
-line. Você também pode se livrar da extensão .sed
do nome do arquivo, é claro. Não faz nada.