对存储在目录中的文件执行正则表达式

时间:2017-05-04 15:13:35

标签: linux oracle bash email plsql

我有以下代码

#!/bin/bash
v=""
echo "Please enter your email id"
    read em
$mai=`sqlplus -s abc/xyz << EOF
SELECT REGEXP_SUBSTR ('$em','[^_]+', 1, 1) FROM..    
for f in "$em"*
do
    echo "Processing $f file";
#mail -a $f -s " Test" $em < /dev/null
v=$v" -a "$f
done
mail $v  -s " Test" "$em"< /dev/null

所以我正在生成一个文件并将其保存在目录

文件以下列格式保存:“ abc@gmail.com_xyz_abc_123.csv ” 在代码iam中提取电子邮件ID但是如何调用该目录哪个应该查找此输入? 我的问题是如何使用pl / sql命令调用此文件 可能吗??如果没有,那么你可以建议任何更好的解决方案!

1 个答案:

答案 0 :(得分:0)

似乎你想在第一个_之后删除所有部分,这可以通过变量扩展完成:

echo "${em%%_*}"
  • %%:删除最长的后缀
  • _ *:匹配&#39; _ *&#39;

但是,电子邮件地址可能包含下划线。