-1
我试图在shell脚本的find命令中构建regex表达式中使用的参数,但它似乎不起作用。在shell脚本中构建查找正则表达式参数
这个shell脚本的目标是能够根据shell脚本中的指定参数找到一些文件。
shell脚本看起来是这样的:
#!/bin/bash
IDS=$1
FOLDER="/tmp"
MODULENAMEPATTERN=`echo $IDS | sed "s/,/|/g"`
MODULENAMEPATTERN=".*\\.\\($MODULENAMEPATTERN\\)"
echo "find command: find $FOLDER -follow -type f -regex \"$MODULENAMEPATTERN.suffix\""
for FILEFOUND in `find $FOLDER -follow -type f -regex "$MODULENAMEPATTERN.suffix"`; do
echo $FILEFOUND
done;
要启动它,我用下面的命令:
./test pattern1,pattern2
它生成以下的输出:
find command: /tmp -follow -type f -regex ".*\.\(pattern1\|pattern2\).suffix"
但没有更多。
不幸的是,如果我从终端执行产生find命令,它生成以下的输出:
/tmp/folder1/.pattern1.suffix
/tmp/folder2/.pattern1.suffix
/tmp/folder2/.pattern2.suffix
我不知道究竟哪里是我的问题。你可以帮我吗?
Regards