情景:我有一个脚本,但不知道在哪里,我在目录树中,我需要解决回到最近的已知位置UPROC [某件事]字符串操作
我到目前为止有: 我有一个脚本在一个目录下运行,例如:
/home/jim/query/UPROCL/test/bob/dircut.sh
现在在这个唯一不变的是,我想要的目录将UPROC
开始......也许不是UPROCL
但绝对UPROC
所以我写了下面的:
#!/bin/bash
#Absolute path for this script
SCRIPT=$(readlink -f "$0")
echo $SCRIPT
#Gets Path of script without script name
SCRIPTPATH=$(dirname "$SCRIPT")
echo $SCRIPTPATH
#Cuts everything after UPROC(.* is wildcard)/
CUTDOWN=$(sed 's/\(UPROC.*\/\).*/\1/' <<< $SCRIPTPATH)
echo $CUTDOWN
唯一的问题是,它的输出是:
/home/jim/query/UPROCL/test/bob/dircut.sh
/home/jim/query/UPROCL/test/bob
/home/jim/query/UPROCL/test/
一些能告诉我什么是错我的sed命令,因为它不削减至
/home/jim/query/UPROCL/