如何在bash中的正斜杠上拆分字符串

时间:2012-05-27 19:36:17

标签: string bash split

示例字符串:

/ GASG /串

预期结果:string

要删除的字符:“/”符号之间的所有字符,包括符号

3 个答案:

答案 0 :(得分:18)

使用sed

$ echo "/gasg/string" | sed -e 's/\/.*\///g'
string

使用内置bash字符串操作:

$ s="/gag/string"
$ echo "${s##/*/}"
string

您的字符串看起来与Unix路径名完全一样。这就是为什么你也可以使用basename实用程序 - 它返回给定Unix路径名的最后一部分:

$ basename "/gag/string"
string
# It works with relative paths and spaces too:
$ basename "gag/fas das/string bla bla"
string bla bla

答案 1 :(得分:18)

同样是awk - 使用斜杠作为分隔符并打印最后一个字段

echo "/gas/string" | awk -F/ '{print $NF}'

或者剪切 - 但只有当您有相同数量的目录要剥离时才能使用

echo "/gasg/string" |cut -d/ -f 3

答案 2 :(得分:3)

你可以使用bash字符串操作

a='/gasg/string'
echo ${a##*/}