Recall & Review
beginner
What does the syntax
${var%pattern} do in bash scripting?It removes the shortest matching suffix pattern from the value of the variable
var. This means it deletes the smallest part at the end of the string that matches pattern.Click to reveal answer
intermediate
How does
${var%%pattern} differ from ${var%pattern}?${var%%pattern} removes the longest matching suffix pattern, while ${var%pattern} removes the shortest matching suffix pattern from the variable's value.Click to reveal answer
beginner
Example: If
file="report.txt.bak", what is the result of ${file%.bak}?The result is
report.txt. It removes the shortest suffix matching .bak from the variable file.Click to reveal answer
intermediate
Why use string suffix removal instead of external commands like
sed or cut?Because string suffix removal is faster and uses built-in shell features, so it avoids starting extra programs. It is simpler and more efficient for small string changes.
Click to reveal answer
beginner
What happens if the pattern does not match any suffix in
${var%pattern}?If the pattern does not match the end of the string, the variable's value remains unchanged.
Click to reveal answer
What does
${filename%.txt} do if filename="notes.txt"?✗ Incorrect
It removes the shortest suffix matching '.txt' from the variable's value.
Which syntax removes the longest matching suffix pattern in bash?
✗ Incorrect
${var%%pattern} removes the longest matching suffix pattern.If
path="folder/file.tar.gz", what does ${path%.gz} return?✗ Incorrect
It removes the shortest suffix '.gz' from the string.
What happens if the pattern does not match the suffix in
${var%pattern}?✗ Incorrect
If no match, the original string remains unchanged.
Why is using
${var%pattern} preferred over external tools for suffix removal?✗ Incorrect
Built-in string manipulation is faster and does not require extra programs.
Explain how to remove a file extension suffix from a filename variable in bash using string suffix removal.
Think about removing the shortest suffix matching the extension.
You got /3 concepts.
Describe the difference between ${var%pattern} and ${var%%pattern} in bash string manipulation.
One removes the smallest matching suffix, the other the largest.
You got /2 concepts.