Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 需要字符串操作_Shell - Fatal编程技术网

Shell 需要字符串操作

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

下面是一个示例字符串。我想以指定的格式从中获取输出

字符串:

/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)

单向

$ 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脚本编写涵盖了大量。