【发布时间】:2014-06-07 09:43:10
【问题描述】:
我有以下小代码来检索文件名,
for pfile in ../data/${BENCH}/*.data; do
prot=`expr match ${pfile%.data} "../data/${BENCH}/\(.*\)"`
echo ${prot}
done
pfile%.data 是一个类似“../data/gpcr/3.4.5.data”的字符串。但是,此表达式返回“语法错误”。
我也试过了,
prot=`expr match "${pfile%.data}" "../data/${BENCH}/\(.*\)"` AND
prot=`expr match "${pfile%.data}" : "../data/${BENCH}/\(.*\)"` AND
prot=`expr match "${pfile%.data}" '../data/${BENCH}/\(.*\)'`
他们都没有工作。我在 MacOSX 终端上运行这些。
提前致谢。
【问题讨论】:
-
expr match "${pfile%.data}" "../data/${BENCH}/\(.*\)"应该做什么? -
它应该检索 pfile%.data 的“3.4.5”部分,即“../data/gpcr/3.4.5.data”