For example, I have a string: test1@test2.
I need to get the test2 part of this string. How can I do this with bash?
Using Parameter Expansion:
str='test1@test2'
echo "${str#*@}"
# character says Remove the smallest prefix of the expansion matching the pattern.% character means Remove the smallest suffix of the expansion matching the pattern. (So you can do "${str%@*}" to get the "test1" part.)/ character means Remove the smallest and first substring of the expansion matching the following pattern. Bash has it, but it's not POSIX.If you double the pattern character it matches greedily.
## means Remove the largest prefix of the expansion matching the pattern.%% means Remove the largest suffix of the expansion matching the pattern.// means Remove all substrings of the expansion matching the pattern.echo "test1@test2" | awk -F "@" '{print $2}'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With