How can I display the next two characters from sed results (wildcard characters and then stop the results)?
echo 'this is a test line' | sed 's/^.*te*/te../'
Expecting test
Actual results te.. line
You can use
sed -n 's/.*\(te..\).*/\1/p' <<< 'this is a test line'
See the online demo. Here,
-n - suppresses the default line output.*\(te..\).* - matches any zero or more chars, then captured into Group 1 te and any two chars, and then matches the rest of the string\1 - replaces the whole match with the value of Group 1p - only prints the result of the substitution.GNU AWK solution
echo 'this is a test line' | awk 'BEGIN{FPAT="te.."}{print $1}'
output
test
Explanation: Inform AWK to detect fields like te.. using FPAT (Field PATtern) then just print 1st field.
(tested in GNU Awk 5.0.1)