Bird
Raised Fist0
Linux CLIscripting~15 mins

tr (translate characters) in Linux CLI - Mini Project: Build & Apply

Choose your learning style10 modes available
Translate Characters Using tr Command
📖 Scenario: You work in a small office where you often receive text files with inconsistent letter cases. Your task is to create a simple script that converts all lowercase letters to uppercase letters to make the text uniform.
🎯 Goal: Build a script that uses the tr command to translate all lowercase letters in a given string to uppercase letters.
📋 What You'll Learn
Use the tr command to translate characters
Translate all lowercase letters to uppercase
Use echo to provide input text
Display the translated output
💡 Why This Matters
🌍 Real World
Translating text case is common when cleaning data or preparing text files for consistent formatting.
💼 Career
Many automation and scripting tasks require text manipulation using commands like <code>tr</code> to standardize input data.
Progress0 / 4 steps
1
Create a variable with lowercase text
Create a variable called text and assign it the value "hello world".
Linux CLI
Hint

Use text="hello world" to create the variable.

2
Create a variable with uppercase letters
Create a variable called uppercase_letters and assign it the value "A-Z".
Linux CLI
Hint

Use uppercase_letters="A-Z" to create the variable.

3
Translate lowercase letters to uppercase using tr
Use the echo command with the variable text and pipe it to tr to translate all lowercase letters a-z to uppercase letters using the variable uppercase_letters. Store the result in a variable called result.
Linux CLI
Hint

Use result=$(echo "$text" | tr 'a-z' "$uppercase_letters") to translate and store the output.

4
Display the translated text
Print the variable result to display the translated uppercase text.
Linux CLI
Hint

Use echo "$result" to print the translated text.

Practice

(1/5)
1. What does the tr command do in Linux?
easy
A. It translates or deletes characters from input text.
B. It lists files in a directory.
C. It compiles source code.
D. It displays the current directory path.

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 A, C, and D describe other commands like ls, compilers, and pwd, which are unrelated to tr.
  3. Final Answer:

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

    tr = translate/delete chars [OK]
Hint: Remember: tr = translate characters [OK]
Common Mistakes:
  • Confusing tr with ls or pwd commands
  • Thinking tr compiles code
  • Assuming tr lists files
2. Which of the following is the correct syntax to replace all lowercase 'a' characters with 'b' using tr?
easy
A. tr -replace a b
B. tr a-z b
C. tr 'a' 'b'
D. tr 'a' to 'b'

Solution

  1. Step 1: Recall tr syntax

    The correct syntax uses single quotes around the sets of characters: tr 'a' 'b'.
  2. Step 2: Evaluate options

    tr a-z b uses a range which translates all lowercase letters to 'b' (padded), incorrect for only 'a'. Options A and C use invalid syntax for tr.
  3. Final Answer:

    tr 'a' 'b' -> Option C
  4. Quick Check:

    Use quotes around sets in tr [OK]
Hint: Use quotes around characters in tr command [OK]
Common Mistakes:
  • Using range 'a-z' for single character
  • Using invalid options like -replace
  • Adding extra words like 'to'
3. What is the output of the command:
echo "hello world" | tr 'a-z' 'A-Z'?
medium
A. HELLO WORLD
B. hello world
C. HELLO world
D. Error: invalid range

Solution

  1. Step 1: Understand the command

    The command converts all lowercase letters (a-z) to uppercase (A-Z) in the input text "hello world".
  2. Step 2: Apply translation

    All letters become uppercase, so "hello world" becomes "HELLO WORLD".
  3. Final Answer:

    HELLO WORLD -> Option A
  4. Quick Check:

    Lowercase to uppercase translation = HELLO WORLD [OK]
Hint: tr 'a-z' 'A-Z' converts lowercase to uppercase [OK]
Common Mistakes:
  • Expecting partial uppercase
  • Confusing input and output
  • Thinking it causes an error
4. Identify the error in this command:
echo "123abc" | tr '0-9' 'a-j'
medium
A. Ranges in sets are mismatched length causing error
B. No error, command works correctly
C. Output will be empty
D. Quotes are missing around sets

Solution

  1. Step 1: Analyze the command

    The command replaces digits 0-9 with letters a-j. Both sets have equal length (10 characters).
  2. Step 2: Check for syntax or runtime errors

    Quotes are present, ranges are valid and equal length, so no error occurs.
  3. Final Answer:

    No error, command works correctly -> Option B
  4. Quick Check:

    Equal length ranges with quotes = valid command [OK]
Hint: Ensure equal length sets in tr to avoid errors [OK]
Common Mistakes:
  • Assuming mismatched lengths cause errors here
  • Missing quotes around sets
  • Expecting output to be empty
5. You want to remove all vowels (a, e, i, o, u) from a text file named input.txt. Which command correctly does this using tr?
hard
A. tr -remove 'aeiou' < input.txt
B. tr 'aeiou' < input.txt
C. tr -r 'aeiou' < input.txt
D. tr -d 'aeiou' < input.txt

Solution

  1. Step 1: Understand the goal

    The goal is to delete vowels from the input text file.
  2. Step 2: Identify correct tr option

    The -d option deletes specified characters. So tr -d 'aeiou' removes vowels.
  3. Step 3: Check other options

    tr 'aeiou' < input.txt lacks the second character set, causing an error. Options C and D use invalid options.
  4. Final Answer:

    tr -d 'aeiou' < input.txt -> Option D
  5. Quick Check:

    Use -d to delete chars in tr [OK]
Hint: Use tr -d to delete characters from input [OK]
Common Mistakes:
  • Missing second character set operand
  • Using invalid options like -r or -remove
  • Forgetting to redirect input
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