我有一组键/值对,使用完全限定名称列出可执行文件,如下所示:

  ["exec"] = "/share/home/00288/tg455591/NAMD_2.8b3/NAMD_2.8b3_Linux-x86_64-MVAPICH-Intel-Ranger/namd2",

但是,我想取出目录位置并只打印可执行文件,如下所示:

  ["exec"] = "namd2",

如何构造正则表达式来进行此更改? 请记住,文件中的所有可执行文件都不同,但它们的格式类似。 文件大小约为6000行。 提前致谢。

===============>>#1 票数:1

这个正则表达式起到了作用:

(?<=\["exec"\] = ").+?(?=[^/]+?(?:\.\w+)?")

用。。。来代替:

\1\2

===============>>#2 票数:1

试试看:

(?<="exec"] = ")[^"]*?/([^/"]+)(?=")

这取代:

\1

(或1美元)

===============>>#3 票数:0

如果我正确理解了这个问题,那么这个sed命令可以解决问题:

sed 's|= .*/|= "|'

  ask by amber4478 translate from so

未解决问题?本站智能推荐: