이제 막 공부를 시작했는데 bash
질문이 있습니다.
코드북 암호화를 해야 합니다. 예를 들어, 알파벳 문자를 주어진 문자 패턴으로 바꿉니다. 예를 들어:
Hello World. has to become Qlxxa vaoxk.
하지만 이 명령을 사용하면 다른 결과가 나타납니다.
echo $line | tr 'a-z' "$line1"
line에는 내가 원하는 것보다 한 글자 더 이동하는 패턴이 있는 메시지 line1이 있습니다.
답변1
문제는 패턴이 제공되는 방식에 있는 것으로 밝혀졌습니다. 한 줄에는 소문자로 대체되고 두 번째 줄에는 대문자로 대체되어 파일에서 패턴을 읽었습니다. 함께 읽어보세요
line1="$(<pattern.txt)"
소문자 모드와 대문자 모드 사이에 공백이 생기므로 모든 문자가 이동됩니다.
해결책은 읽은 후 공백을 제거하는 것입니다.
line1="${line1// /}"