substituição de char-to-char com sed

2

Eu estou tentando fazer um decodificador de substituição monoalfabética no bash: Eu tenho um conjunto de caracteres que formam um alfabeto alternativo como

real alphabet -> ABCDE ...
my alphabet   -> DGHJK ...

Eu quero sed (ou outra ferramenta, mas acho que o sed pode lidar com isso) para substituir "A" por "D", "B" por "G" e assim por diante. É possível, sem usar o argumento "-e" em sed (e digitando todo o alfabeto) para realizar tal substituição?

    
por heydude1 30.09.2014 / 10:19

2 respostas

5

Em vez de sed , use tr :

tr 'A-Z' 'DGHJK...' < input
    
por 30.09.2014 / 10:28
5

Tente:

$ echo ABCDBAD | sed 'y/ABCD/DEFG/'
DEFGEDG

y/string1/string2/ faz com que sed substitua todas as ocorrências de caracteres em string1 pelos caracteres correspondentes em string2 .

    
por 30.09.2014 / 10:22

Tags