📖 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
Step 1: Understand the purpose of tr
The tr command is used to translate or delete characters from input text streams.
Step 2: Compare with other options
Options A, C, and D describe other commands like ls, compilers, and pwd, which are unrelated to tr.
Final Answer:
It translates or deletes characters from input text. -> Option A
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
Step 1: Recall tr syntax
The correct syntax uses single quotes around the sets of characters: tr 'a' 'b'.
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.
Final Answer:
tr 'a' 'b' -> Option C
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
Step 1: Understand the command
The command converts all lowercase letters (a-z) to uppercase (A-Z) in the input text "hello world".
Step 2: Apply translation
All letters become uppercase, so "hello world" becomes "HELLO WORLD".
Final Answer:
HELLO WORLD -> Option A
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
Step 1: Analyze the command
The command replaces digits 0-9 with letters a-j. Both sets have equal length (10 characters).
Step 2: Check for syntax or runtime errors
Quotes are present, ranges are valid and equal length, so no error occurs.
Final Answer:
No error, command works correctly -> Option B
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
Step 1: Understand the goal
The goal is to delete vowels from the input text file.
Step 2: Identify correct tr option
The -d option deletes specified characters. So tr -d 'aeiou' removes vowels.
Step 3: Check other options
tr 'aeiou' < input.txt lacks the second character set, causing an error. Options C and D use invalid options.
Final Answer:
tr -d 'aeiou' < input.txt -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.