Shell 需要字符串操作
下面是一个示例字符串。我想以指定的格式从中获取输出 字符串: /vob/TEST/@@@main/ch_vobsweb/1/vobsweb/main/ch_vobsweb/4/VobsWebUI/main/ch_vobsweb/2/VaultWeb/main/ch_vobsweb/2/func.js 文件名;文件路径 func.js;VOBSWeb/VosWebUI/VaultWeb/func.js 文件名列在整个字符串的末尾,它的路径应该使用每个数值后面的字符进行剥离(例如/1/VOBSWeb/然后/4/VobsWebUI,然后/2/vaultWeb)单向Shell 需要字符串操作,shell,Shell,下面是一个示例字符串。我想以指定的格式从中获取输出 字符串: /vob/TEST/@@@main/ch_vobsweb/1/vobsweb/main/ch_vobsweb/4/VobsWebUI/main/ch_vobsweb/2/VaultWeb/main/ch_vobsweb/2/func.js 文件名;文件路径 func.js;VOBSWeb/VosWebUI/VaultWeb/func.js 文件名列在整个字符串的末尾,它的路径应该使用每个数值后面的字符进行剥离(例如/1/VOBSWeb
$ string="/vob/TEST/.@@/main/ch_vobsweb/1/VOBSWeb/main/ch_vobsweb/4/VobsWebUI/main/ch_vobsweb/2/VaultWeb/main/ch_vobsweb/2/func.js"
$ path=$(echo "$string" | sed "s|\/[0-9]\/|\n|g"|sed 's|\/.*||' | tr "\n" "/"|sed 's/\/$//')
$ echo ${path##*/}
func.js
$ echo ${path%\/*}
/VOBSWeb/VobsWebUI/VaultWeb
哎哟。我认为您很难将第二部分简化为一个regexp,可能更容易编写几行perl。什么平台、工具、语言<代码>Shell脚本编写涵盖了大量。