正则表达式匹配文件中的特定位置

发布于 2024-08-15 02:16:06 字数 301 浏览 5 评论 0原文

我正在使用的文件(oraInst.loc)如下所示:

inventory_loc=/u01/app/ORAENV/oracle/oraInventory
inst_group=dba

我需要使用正则表达式来获取app/和/oracle之间的值。在本例中,它将是 ORAENV,但它可以是任何大小写和长度的任何字母数字字符串,但不带空格。

从我到目前为止所读到的内容来看,使用分组似乎是做到这一点的方法,但我就是无法理解它。

我在 Solaris 10 上使用egrep作为正则表达式引擎。

The file i am working with (oraInst.loc) looks like this:

inventory_loc=/u01/app/ORAENV/oracle/oraInventory
inst_group=dba

I need to use a regular expression to grab the value between app/ and /oracle. In this case it will be ORAENV but it could be any alphanumeric string of any case and length but with no spaces.

From what I have read so far using grouping seems to be the way to do this but I just can't get my head round it.

I am using egrep on Solaris 10 as the regex engine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

去了角落 2024-08-22 02:16:06

试试这个:

\/app\/([\d\w]+)\/oracle\/

Try this:

\/app\/([\d\w]+)\/oracle\/

堇色安年 2024-08-22 02:16:06

试试这个,假设你的egrep有-o:

$ echo '/u01/app/ORAENV/oracle/oraInventory' | egrep -o '/app/[0-9A-Za-z]+/oracle/' | cut -d'/' -f3

输出:

ORAENV

更新,使用sed的解决方案:

$ echo '/u01/app/ORAENV/oracle/oraInventory' | sed 's:.*/app/\(.*\)/oracle/.*:\1:'

Try this, assuming your egrep has -o:

$ echo '/u01/app/ORAENV/oracle/oraInventory' | egrep -o '/app/[0-9A-Za-z]+/oracle/' | cut -d'/' -f3

Output:

ORAENV

Update, solution using sed:

$ echo '/u01/app/ORAENV/oracle/oraInventory' | sed 's:.*/app/\(.*\)/oracle/.*:\1:'
陪你搞怪i 2024-08-22 02:16:06

像这样的东西:

app/(.*)/oracle

会成功。

Something like:

app/(.*)/oracle

Would do the trick.

锦欢 2024-08-22 02:16:06
$ echo "inventory_loc=/u01/app/ORAENV/oracle/oraInventory"| nawk -F"/" '{for(i=1;i<=NF;i++)if($i=="app") {print $(i+1);exit} } '
ORAENV
$ echo "inventory_loc=/u01/app/ORAENV/oracle/oraInventory"| nawk -F"/" '{for(i=1;i<=NF;i++)if($i=="app") {print $(i+1);exit} } '
ORAENV
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文