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

use*_*777 16 string bash split

示例字符串:

/ GASG /串

预期结果 : string

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

Hri*_*iev 22

sed:

$ echo "/gasg/string" | sed -e 's/\/.*\///g'
string
Run Code Online (Sandbox Code Playgroud)

使用内置bash字符串操作:

$ s="/gag/string"
$ echo "${s##/*/}"
string
Run Code Online (Sandbox Code Playgroud)

你的字符串看起来与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
Run Code Online (Sandbox Code Playgroud)


Mar*_*ina 19

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

echo "/gas/string" | awk -F/ '{print $NF}'
Run Code Online (Sandbox Code Playgroud)

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

echo "/gasg/string" |cut -d/ -f 3
Run Code Online (Sandbox Code Playgroud)


piz*_*zza 6

您可以使用 bash 字符串操作

a='/gasg/string'
echo ${a##*/}
Run Code Online (Sandbox Code Playgroud)