Unix Shell脚本:从变量中删除公共前缀

时间:2016-07-20 15:54:40

标签: shell unix split

我有两个变量,一个是持有前缀,另一个是完整的字符串。

例如

prefix="TEST_"
Str="TEST_FILENAME.xls"

我希望将Str与前缀进行比较并删除常用字符' TEST _'我希望输出为FILENAME.xls。请告知是否可以使用最少的编码行完成。非常感谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

$ Str=$(echo $Str | sed "s/^${prefix}//")
$ echo $Str
FILENAME.xls

或者使用awk:

$ echo $Str | awk -F $prefix '{print $2}'
FILENAME.xls

答案 1 :(得分:1)

使用BASH你可以:

prefix="TEST_"
str="TEST_FILENAME.xls"
echo "${str#$prefix}"

FILENAME.xls

如果不使用BASH,您可以使用sed

sed "s/^$prefix//" <<< "$str"

FILENAME.xls