string="/scripts/log/mount_hello_kitty.log"; prefix="/scripts/log/mount_"; string=${string#$prefix}; #Remove prefix suffix=".log"; string=${string%$suffix}; #Remove suffix echo $string; #Prints "hello_kitty"
In the above example we have as input the variable string
that contains following /scripts/log/mount_hello_kitty.log
.
We want to remove from that variable the prefix
, which is /scripts/log/mount_
and the suffix
, which is .log
.
The above code will replace in place the input that is contained in the variable string
and remove the prefix
and suffix
we defined in the respective variables.
string=${string#$prefix}
returns a copy of string
after the prefix
was removed from the beginning of the variable.
string=${string%$suffix}
returns a copy of string
after the suffix
was removed from the end of the variable.
This post is also available in: Greek
tnx lot sir its worked like charm.
Is there a way to use both in a single expression?
Excellent, thanks a lot.