Você precisa do tr
depois de ler o arquivo de texto simples:
#!/bin/bash
printf "generating random file > plaintext \n"
cat -v < plaintext | tr "a-z" "b-y" > generatedtext
Na sua pergunta plaintext
é redirecionado para tr
não cat
.
Alternativamente, você pode executar os comandos canalizados em um subshell:
#!/bin/bash
printf "generating random file > plaintext \n"
( cat -v | tr "a-z" "b-y" ) < plaintext > generatedtext