como criar um arquivo de script sed para edição

3

Eu tenho uma tarefa para criar um arquivo de script sed que pode traduzir do inglês para o código morse. mas primeiro o arquivo de código morse deve ser colocado no script sed e transformar em um arquivo e que pode ser usado para traduzir o código ito morse em inglês. então eu tentei desse jeito. Eu fiz o arquivo no script sed como segue

s/[Aa]/\.-/g
s/[Bb]/-\.\.\./g
s/[Cc]/-\.-\./g
s/[Dd]/-\.\./g
s/[Ee]/\./g
s/[Ff]/\.\.-\./g
s/[Gg]/--\./g
s/[Hh]/\.\.\.\./g
s/[Ii]/\.\./g
s/[Jj]/\.---/g
s/[Kk]/-\.-/g
s/[Ll]/\.-\.\./g
s/[Mm]/--/g
s/[Nn]/-\./g
s/[Oo]/---/g
s/[Pp]/\.--\./g
s/[Qq]/--\.-/g
s/[Rr]/\.-\./g
s/[Ss]/\.\.\./g
s/[Tt]/-/g
s/[Uu]/\.\.-/g
s/[Vv]/\.\.\.-/g
s/[Ww]/\.--/g
s/[Xx]/-\.\.-/g
s/[Yy]/-\.--/g
s/[Zz]/--\.\./g
s/0/------/g
s/1/\.---/g
s/2/\.\.---/g
s/3/\.\.\.--/g
s/4/\.\.\.\.-/g
s/5/\.\.\.\.\./g
s/6/-\.\.\.\./g
s/7/--\.\.\./g
s/8/---\.\./g
s/9/----\./g

mas, eventualmente, eu deveria ter um arquivo de script que pode ser usado para traduzir do inglês para o código morse. estou preso aqui

    
por Somojel 16.04.2018 / 16:17

1 resposta

6

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.

    
por 16.04.2018 / 16:31

Tags