Bash에서 단일 문자 대체 디코더를 만들려고 합니다. 대체 알파벳을 구성하는 문자 세트가 있습니다.
real alphabet -> ABCDE ...
my alphabet -> DGHJK ...
나는 "A"를 "D"로, "B"를 "G"로 바꾸는 등의 작업을 sed(또는 다른 도구이지만 sed가 처리할 수 있다고 생각함)를 원합니다. sed에서 "-e" 매개변수를 사용하지 않고(그리고 모든 알파벳을 입력하지 않고도) 이러한 교체를 수행할 수 있습니까?
답변1
sed
사용하는 대신 tr
:
tr 'A-Z' 'DGHJK...' < input
답변2
노력하다:
$ echo ABCDBAD | sed 'y/ABCD/DEFG/'
DEFGEDG
y/string1/string2/
이유는 sed
발생하는 모든 문자를 string1
의 해당 문자로 바꿉니다 string2
.