Что я хочу сделать, это написать аргумент для tr, который переворачивает текст для кодов rot13.
Я хочу сделать это
tr 'A-Za-z' 'N-ZA-Mn-za-m'
Только это
tr -r
И иметь аргумент -r, что делает первая команда
Используйте функцию оболочки, которая переносится tr
команда:
tr () {
if [[ $1 == "-r" ]]; then
shift
set -- '[A-Za-z]' '[N-ZA-Mn-za-m]' "$@"
fi
command tr "$@"
}
Проверьте, что "регулярный" TR работает:
$ echo "Hello World!" | tr 'aeiou' 'AEIOU'
HEllO WOrld!
И теперь, используйте rot13 опцию
$ echo "Hello World!" | tr 'aeiou' 'AEIOU' | tr -r
URyyB JBeyq!
$ echo "Hello World!" | tr 'aeiou' 'AEIOU' | tr -r | tr -r
HEllO WOrld!