Bird
Raised Fist0
Bash Scriptingscripting~5 mins

tr for character transformation in Bash Scripting - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the tr command do in bash scripting?
The tr command translates or deletes characters from input. It is used to transform characters, like changing lowercase letters to uppercase.
Click to reveal answer
beginner
How do you use tr to convert all lowercase letters to uppercase?
Use tr 'a-z' 'A-Z'. It replaces every lowercase letter with its uppercase equivalent.
Click to reveal answer
intermediate
What happens if the input contains characters not in the first set of tr?
Characters not in the first set are passed through unchanged. tr only transforms characters it matches in the first set.
Click to reveal answer
intermediate
How can you delete characters using tr?
Use the -d option with the characters to delete. For example, tr -d 'aeiou' deletes all vowels from the input.
Click to reveal answer
beginner
Explain the difference between tr 'a-z' 'A-Z' and tr 'A-Z' 'a-z'.
tr 'a-z' 'A-Z' converts lowercase letters to uppercase. tr 'A-Z' 'a-z' converts uppercase letters to lowercase.
Click to reveal answer
Which tr command converts all lowercase letters to uppercase?
Atr 'a-z' 'A-Z'
Btr 'A-Z' 'a-z'
Ctr -d 'a-z'
Dtr '0-9' 'a-z'
What does tr -d 'aeiou' do?
AConverts vowels to uppercase
BReplaces vowels with numbers
CDeletes all vowels from input
DDuplicates vowels in input
If input contains digits and you run tr 'a-z' 'A-Z', what happens to digits?
ADigits remain unchanged
BDigits are deleted
CDigits are converted to uppercase letters
DDigits are replaced with spaces
Which command deletes all spaces from input?
Atr -s ' '
Btr ' ' '-'
Ctr 'a-z' 'A-Z'
Dtr -d ' '
What is the output of echo 'Hello123' | tr 'A-Z' 'a-z'?
AHELLO123
Bhello123
CHello123
DhELLO123
Describe how to use tr to change all lowercase letters in a text to uppercase.
Think about replacing one set of characters with another.
You got /4 concepts.
    Explain how to remove specific characters from input using tr.
    Deleting means removing characters completely.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the tr command do in bash scripting?
      easy
      A. It transforms or deletes characters from input text streams.
      B. It compiles bash scripts into executables.
      C. It lists files in a directory.
      D. It runs commands in the background.

      Solution

      1. Step 1: Understand the purpose of tr

        The tr command is used to translate or delete characters from input text streams.
      2. Step 2: Compare with other options

        Options B, C, and D describe unrelated commands or functions in bash.
      3. Final Answer:

        It transforms or deletes characters from input text streams. -> Option A
      4. Quick Check:

        tr = transform/delete characters [OK]
      Hint: Remember: tr means translate characters [OK]
      Common Mistakes:
      • Confusing tr with file listing commands like ls
      • Thinking tr compiles scripts
      • Assuming tr runs commands in background
      2. Which of the following is the correct syntax to convert lowercase letters to uppercase using tr?
      easy
      A. echo "hello" | tr 'A-Z' '0-9'
      B. echo "hello" | tr 'a-z' 'A-Z'
      C. echo "hello" | tr '0-9' 'A-Z'
      D. echo "hello" | tr 'A-Z' 'a-z'

      Solution

      1. Step 1: Identify the correct character ranges for case conversion

        To convert lowercase to uppercase, use 'a-z' as source and 'A-Z' as target.
      2. Step 2: Check the syntax correctness

        echo "hello" | tr 'a-z' 'A-Z' correctly uses tr 'a-z' 'A-Z'. Other options either reverse case or use wrong ranges.
      3. Final Answer:

        echo "hello" | tr 'a-z' 'A-Z' -> Option B
      4. Quick Check:

        Lowercase to uppercase = echo "hello" | tr 'a-z' 'A-Z' [OK]
      Hint: Use 'a-z' then 'A-Z' to uppercase letters [OK]
      Common Mistakes:
      • Swapping source and target ranges
      • Using digits instead of letters
      • Mixing uppercase and lowercase incorrectly
      3. What is the output of this command?
      echo "Hello World 123" | tr -d '0-9'
      medium
      A. Hello World 123
      B. HelloWorld123
      C. HelloWorld
      D. Hello World

      Solution

      1. Step 1: Understand the -d option in tr

        The -d option deletes characters matching the set given, here digits '0-9'.
      2. Step 2: Apply deletion to the input string

        All digits '1', '2', '3' are removed, leaving "Hello World " with spaces intact.
      3. Final Answer:

        Hello World -> Option D
      4. Quick Check:

        Digits deleted = "Hello World " [OK]
      Hint: Use -d to delete characters, here digits removed [OK]
      Common Mistakes:
      • Expecting digits to be replaced, not deleted
      • Removing spaces accidentally
      • Confusing -d with character translation
      4. Identify the error in this command:
      echo "abc123" | tr 'a-z' 'A-Z' -d '0-9'
      medium
      A. The command will convert letters but ignore digits.
      B. The order of options is wrong; -d must come before sets.
      C. You cannot combine translation and deletion in one tr command.
      D. The syntax is correct and will work as expected.

      Solution

      1. Step 1: Understand tr option usage

        tr does not support combining translation and deletion in one command; they are separate operations.
      2. Step 2: Analyze the command

        The command tries to translate and delete simultaneously, which is invalid syntax.
      3. Final Answer:

        You cannot combine translation and deletion in one tr command. -> Option C
      4. Quick Check:

        Translation + deletion together = invalid [OK]
      Hint: tr does either translate OR delete, not both at once [OK]
      Common Mistakes:
      • Trying to chain translate and delete in one tr call
      • Assuming option order fixes the problem
      • Expecting partial command success
      5. You want to replace all vowels in a string with the character '*', but keep other characters unchanged. Which command achieves this?
      hard
      A. echo "banana" | tr 'aeiou' '*'
      B. echo "banana" | tr 'aeiou' 'AEIOU'
      C. echo "banana" | tr -d 'aeiou'
      D. echo "banana" | tr 'aeiou' 'ABCDE'

      Solution

      1. Step 1: Understand character replacement with tr

        To replace vowels with '*', map all vowels to a single character '*'.
      2. Step 2: Analyze each option

        echo "banana" | tr 'aeiou' '*' replaces each vowel with '*'. echo "banana" | tr 'aeiou' 'AEIOU' changes vowels to uppercase vowels. echo "banana" | tr -d 'aeiou' deletes vowels. echo "banana" | tr 'aeiou' 'ABCDE' replaces vowels with A,B,C,D,E respectively.
      3. Final Answer:

        echo "banana" | tr 'aeiou' '*' -> Option A
      4. Quick Check:

        Vowels replaced by '*' = echo "banana" | tr 'aeiou' '*' [OK]
      Hint: Map vowels to '*' with single char target in tr [OK]
      Common Mistakes:
      • Using a target set like 'ABCDE' instead of '*'
      • Deleting vowels instead of replacing
      • Replacing vowels with uppercase instead of '*'
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard