Bird
Raised Fist0
Linux CLIscripting~5 mins

sed substitution in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the sed command do in Linux?

sed is a stream editor used to perform basic text transformations on an input stream (a file or input from a pipeline).

Click to reveal answer
beginner
Explain the basic syntax of a sed substitution command.

The basic syntax is sed 's/pattern/replacement/' filename. It replaces the first occurrence of pattern with replacement on each line.

Click to reveal answer
beginner
How do you replace all occurrences of a pattern in each line using sed?

Add the g flag at the end: sed 's/pattern/replacement/g' filename. This replaces every match on each line.

Click to reveal answer
beginner
What does the command sed 's/cat/dog/g' file.txt do?

It replaces every occurrence of the word cat with dog in each line of file.txt, printing the result to the screen.

Click to reveal answer
intermediate
How can you save the changes made by sed substitution back to the original file?

Use the -i option for in-place editing: sed -i 's/old/new/g' filename. This updates the file directly.

Click to reveal answer
What does the g flag do in a sed substitution?
AReplaces only the first occurrence in the entire file
BDeletes the matching lines
CReplaces all occurrences of the pattern in each line
DPrints the matching lines only
Which command replaces the first occurrence of 'apple' with 'orange' in each line of fruits.txt?
Ased 's/apple/orange/' fruits.txt
Bsed 's/apple/orange/g' fruits.txt
Csed -i 's/apple/orange/g' fruits.txt
Dsed 's/apple/orange/1' fruits.txt
How do you apply sed substitution and save changes directly to the file?
Ased -i 's/old/new/g' filename
Bsed 's/old/new/g' filename > filename
Csed 's/old/new/g' filename
Dsed -e 's/old/new/g' filename
What will this command do? sed 's/blue/red/2' colors.txt
AReplace the second line containing 'blue' with 'red'
BReplace all occurrences of 'blue' with 'red'
CReplace the first occurrence of 'blue' with 'red'
DReplace the second occurrence of 'blue' with 'red' on each line
Which delimiter can you use instead of / in sed substitution?
A*
B#
C&
D%
Describe how to use sed to replace all occurrences of a word in a file and save the changes.
Think about the command structure and flags needed.
You got /3 concepts.
    Explain the difference between using sed 's/pattern/replacement/' and sed 's/pattern/replacement/g'.
    Focus on how many matches get replaced per line.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the sed command sed 's/cat/dog/' file.txt do?
      easy
      A. Replaces the first occurrence of 'cat' with 'dog' on each line of file.txt
      B. Replaces all occurrences of 'cat' with 'dog' in the entire file.txt
      C. Deletes all lines containing 'cat' in file.txt
      D. Prints lines containing 'dog' from file.txt

      Solution

      1. Step 1: Understand the sed substitution syntax

        The command sed 's/cat/dog/' file.txt uses s/pattern/replacement/ which replaces the first match per line.
      2. Step 2: Apply the command to the file

        It replaces only the first 'cat' found on each line with 'dog', not all occurrences or lines.
      3. Final Answer:

        Replaces the first occurrence of 'cat' with 'dog' on each line of file.txt -> Option A
      4. Quick Check:

        sed s/pattern/replacement/ replaces first match per line [OK]
      Hint: No 'g' flag means only first match per line replaced [OK]
      Common Mistakes:
      • Thinking all matches are replaced without 'g'
      • Confusing substitution with deletion
      • Assuming it prints only matching lines
      2. Which of the following is the correct syntax to replace all occurrences of 'apple' with 'orange' using sed?
      easy
      A. sed 's/apple/orange/' file.txt
      B. sed 's/apple/orange/g' file.txt
      C. sed 's/apple/orange/g;' file.txt
      D. sed 's/apple/orange/gp' file.txt

      Solution

      1. Step 1: Identify the flag for global replacement

        The 'g' flag after the substitution pattern tells sed to replace all occurrences on each line.
      2. Step 2: Check syntax correctness

        sed 's/apple/orange/g' file.txt uses sed 's/apple/orange/g' which is the correct syntax without extra characters.
      3. Final Answer:

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

        'g' flag means replace all matches per line [OK]
      Hint: Add 'g' after last slash to replace all matches [OK]
      Common Mistakes:
      • Omitting the 'g' flag for all replacements
      • Adding extra semicolons inside quotes
      • Using 'gp' which is invalid here
      3. What is the output of this command if input.txt contains:
      apple apple banana
      banana apple apple
      

      sed 's/apple/orange/' input.txt?
      medium
      A. orange orange banana banana orange orange
      B. orange apple banana banana apple apple
      C. orange apple banana banana orange apple
      D. apple apple banana banana apple apple

      Solution

      1. Step 1: Understand sed substitution without 'g'

        Without 'g', only the first 'apple' on each line is replaced by 'orange'.
      2. Step 2: Apply substitution line by line

        Line 1: 'apple apple banana' becomes 'orange apple banana'. Line 2: 'banana apple apple' becomes 'banana orange apple'.
      3. Final Answer:

        orange apple banana banana orange apple -> Option C
      4. Quick Check:

        First match per line replaced only [OK]
      Hint: No 'g' means only first match per line changes [OK]
      Common Mistakes:
      • Replacing all 'apple' without 'g'
      • Replacing none due to misunderstanding
      • Confusing line order or content
      4. Identify the error in this sed command: sed 's/hello/world/g file.txt'
      medium
      A. File name should come before the command
      B. Incorrect delimiter used
      C. Missing 'g' flag for global replacement
      D. Missing closing quote after 'g'

      Solution

      1. Step 1: Check the quotes in the command

        The command has an opening single quote before s/hello/world/g but no closing quote after 'g'.
      2. Step 2: Confirm correct placement of quotes and arguments

        The file name should be outside the quotes. The missing closing quote causes syntax error.
      3. Final Answer:

        Missing closing quote after 'g' -> Option D
      4. Quick Check:

        Quotes must enclose entire sed expression [OK]
      Hint: Always close quotes around sed expression [OK]
      Common Mistakes:
      • Placing file name inside quotes
      • Forgetting closing quote
      • Confusing delimiter with quotes
      5. You want to replace all occurrences of 'foo' with 'bar' only on lines containing 'baz' in data.txt. Which command achieves this?
      hard
      A. sed '/baz/ s/foo/bar/g' data.txt
      B. sed 's/foo/bar/g /baz/' data.txt
      C. sed 's/foo/bar/g' data.txt | grep baz
      D. sed '/foo/ s/baz/bar/g' data.txt

      Solution

      1. Step 1: Understand address restriction in sed

        Using /baz/ s/foo/bar/g applies substitution only on lines matching 'baz'.
      2. Step 2: Verify command correctness

        sed '/baz/ s/foo/bar/g' data.txt correctly restricts substitution to lines with 'baz' and replaces all 'foo' with 'bar'.
      3. Final Answer:

        sed '/baz/ s/foo/bar/g' data.txt -> Option A
      4. Quick Check:

        Address before command limits lines affected [OK]
      Hint: Use /pattern/ before s/// to limit lines [OK]
      Common Mistakes:
      • Placing substitution after file name
      • Using grep after sed instead of address
      • Mixing patterns in wrong order
      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