Bird
Raised Fist0
Linux CLIscripting~10 mins

Why text processing is Linux's superpower in Linux CLI - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to display the first 5 lines of a file named 'data.txt'.

Linux CLI
head -[1] data.txt
Drag options to blanks, or click blank then click option'
A5
B10
C15
D20
Attempts:
3 left
💡 Hint
Common Mistakes
Using a number larger than 5 will show more lines than needed.
Forgetting the dash before the number causes an error.
2fill in blank
medium

Complete the command to find lines containing the word 'error' in 'log.txt'.

Linux CLI
grep [1] log.txt
Drag options to blanks, or click blank then click option'
A'error'
B'debug'
C'info'
D'warning'
Attempts:
3 left
💡 Hint
Common Mistakes
Searching for the wrong word will not find the needed lines.
Omitting quotes can cause errors if the word has special characters.
3fill in blank
hard

Fix the error in the command to count lines in 'file.txt'.

Linux CLI
wc -l [1]
Drag options to blanks, or click blank then click option'
A-file.txt
Bfile.txt
Cfiletxt
D--file file.txt
Attempts:
3 left
💡 Hint
Common Mistakes
Adding dashes before the filename causes errors.
Misspelling the filename leads to 'file not found' errors.
4fill in blank
hard

Fill both blanks to create a dictionary of word lengths for words longer than 3 letters in a list.

Linux CLI
{word: [1] for word in words if len(word) [2] 3}
Drag options to blanks, or click blank then click option'
Alen(word)
Bword
C>
D<=
Attempts:
3 left
💡 Hint
Common Mistakes
Using the word itself as the value instead of its length.
Using the wrong comparison operator in the condition.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase keys and values greater than 0.

Linux CLI
result = [1]: [2] for k, v in data.items() if v [3] 0}
Drag options to blanks, or click blank then click option'
Ak.upper()
Bv
C>
Dk.lower()
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase keys instead of uppercase.
Including items with zero or negative values.

Practice

(1/5)
1. Which Linux command is mainly used to search for specific text patterns within files?
easy
A. sed
B. awk
C. grep
D. cat

Solution

  1. Step 1: Understand the purpose of grep

    grep searches files for lines matching a text pattern.
  2. Step 2: Compare with other commands

    sed edits text streams, awk processes text fields, cat displays file content.
  3. Final Answer:

    grep -> Option C
  4. Quick Check:

    Search text patterns = grep [OK]
Hint: Remember: grep means 'global regular expression print' [OK]
Common Mistakes:
  • Confusing sed with grep
  • Thinking awk is for simple text search
  • Using cat to find patterns
2. Which of the following is the correct syntax to replace all occurrences of 'apple' with 'orange' in a file named fruits.txt using sed?
easy
A. sed 'apple=orange' fruits.txt
B. sed 'replace apple with orange' fruits.txt
C. sed -r 'apple -> orange' fruits.txt
D. sed 's/apple/orange/g' fruits.txt

Solution

  1. Step 1: Recall sed substitution syntax

    The correct form is sed 's/old/new/g' to replace all occurrences.
  2. Step 2: Match syntax to options

    Only sed 's/apple/orange/g' fruits.txt uses the correct s/apple/orange/g pattern.
  3. Final Answer:

    sed 's/apple/orange/g' fruits.txt -> Option D
  4. Quick Check:

    sed substitution = s/old/new/g [OK]
Hint: Use s/old/new/g for global replace in sed [OK]
Common Mistakes:
  • Missing 's/' at start of substitution
  • Using wrong delimiters or syntax
  • Forgetting the 'g' flag for global replace
3. What will be the output of the following command?
echo -e "apple\nbanana\napple" | grep -c apple
medium
A. 2
B. 1
C. 3
D. 0

Solution

  1. Step 1: Understand the input lines

    The input has three lines: 'apple', 'banana', and 'apple'.
  2. Step 2: Count lines matching 'apple' with grep -c

    grep -c apple counts lines containing 'apple'. Two lines match.
  3. Final Answer:

    2 -> Option A
  4. Quick Check:

    Count lines with 'apple' = 2 [OK]
Hint: grep -c counts matching lines, not occurrences [OK]
Common Mistakes:
  • Counting total lines instead of matches
  • Confusing occurrences with line count
  • Ignoring the -c flag meaning
4. The command below is intended to print only lines containing 'error' from log.txt. What is wrong?
grep error log.txt | sed 's/error//'
medium
A. It filters lines but removes 'error' text from output
B. It causes a syntax error in sed
C. It removes 'error' but prints all lines, not filtered
D. It does not read the file

Solution

  1. Step 1: Analyze the pipeline commands

    grep error log.txt filters lines with 'error'. Then sed 's/error//' removes 'error' from those lines.
  2. Step 2: Understand the effect on output

    The output shows lines containing 'error' but with the word 'error' removed, which may be unintended.
  3. Final Answer:

    It filters lines but removes 'error' text from output -> Option A
  4. Quick Check:

    grep filters, sed edits text [OK]
Hint: Pipes chain commands; sed edits output after grep filters [OK]
Common Mistakes:
  • Thinking sed filters lines
  • Expecting grep to remove text
  • Assuming syntax error without checking
5. You want to extract the second column from a file data.csv where columns are separated by commas. Which command pipeline correctly does this?
hard
A. grep ',' data.csv | sed 'print $2'
B. cat data.csv | awk -F',' '{print $2}'
C. sed -n '2p' data.csv
D. awk '{print $2}' data.csv

Solution

  1. Step 1: Identify the field separator and extraction tool

    Columns are comma-separated, so awk with -F',' sets comma as delimiter.
  2. Step 2: Check command correctness

    cat data.csv | awk -F',' '{print $2}' uses awk -F',' '{print $2}' to print second column correctly.
  3. Final Answer:

    cat data.csv | awk -F',' '{print $2}' -> Option B
  4. Quick Check:

    awk -F',' prints columns by field [OK]
Hint: Use awk -F',' to split CSV columns [OK]
Common Mistakes:
  • Using sed to print columns incorrectly
  • Forgetting to set field separator in awk
  • Using grep which filters lines, not columns
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