加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash脚本正则表达式匹配

发布时间:2020-12-16 01:46:05 所属栏目:安全 来源:网络整理
导读:在我的bash脚本中,我有一个像.的文件名数组 files=( "site_hello.xml" "site_test.xml" "site_live.xml" ) 我需要提取下划线和.xml扩展名之间的字符,以便我可以遍历它们以便在函数中使用. 如果这是python,我可能会使用类似的东西 re.match("site_(.*).xml")
在我的bash脚本中,我有一个像.的文件名数组

files=( "site_hello.xml" "site_test.xml" "site_live.xml" )

我需要提取下划线和.xml扩展名之间的字符,以便我可以遍历它们以便在函数中使用.

如果这是python,我可能会使用类似的东西

re.match("site_(.*).xml")

然后提取第一个匹配的组.

不幸的是这个项目需要用bash,所以 – 我怎样才能在bash脚本中做这种事情?我对grep,sed或awk不是很好.

解决方法

xbraer@NO01601 ~
$VAR=`echo "site_hello.xml" | sed -e 's/.*_(.*).xml/1/g'`

xbraer@NO01601 ~
$echo $VAR
hello

xbraer@NO01601 ~
$

这回答了你的问题了吗?

只需在反引号(“)中通过sed运行变量

我不记得bash中的数组语法,但我想你自己也知道,如果你正在编写bash;)

如果不清楚,请不要犹豫再问.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读