linux - 在 bash 中的给定文本中的两个给定不同定界符之间提取文本

标签 linux bash shell

<分区>

我有一行文本看起来像hh^ay-pau+h@ow,我想提取-+<之间的文本 在这种情况下是 pau。这应该在 bash 中完成。任何帮助,将不胜感激。 编辑:我想提取第一次出现的标记之间的文本 PS:我的谷歌搜索没有带我去任何地方。如果这个问题已经被问到,我深表歉意。

最佳答案

在纯 bash 中执行此操作的方法是在 bash 中使用参数扩展

$ a=hh^ay-pau+h@ow
$ b=${a%%+*}
$ c=${b#*-}
$ echo $c
pau

b:删除所有内容,包括第一次出现的 + 之后的所有内容 c: 删除第一个- occurrence

之外和之前的所有内容

关于 substring removing in bash parameter expansion 的更多信息

关于linux - 在 bash 中的给定文本中的两个给定不同定界符之间提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23875129/

相关文章:

bash - 在 bash 脚本中提示输入 MySQLDump 密码?

centos - 用于启动守护进程的 Perl 包装器在由 cron 运行时会留下僵尸

linux - 简单的 linux 重定向

linux - sh -c "command"的 Sigkill 子进程

c - 编写自定义 PCIe 热插拔 Linux 2.6.x 驱动程序

linux - 管道 tail -f 切割到 sed 不产生任何输出

linux - while循环如何等待进程

linux - linux 如何从文件名中删除日期

linux - syslog-ng perl 管道丢弃事件

java - 一个tomcat实例、jboss实例和weblogic实例最多可以处理多少个并发用户?