正则表达式仅打印可执行文件而非完整路径

时间:2013-04-16 02:34:35

标签: regex text expression textwrangler

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

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

但是,我想取出目录位置并仅打印可执行文件,例如:

  ["exec"] = "namd2",

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

3 个答案:

答案 0 :(得分:1)

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

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

替换为:

\1\2

答案 1 :(得分:1)

试试这个:

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

这将取代:

\1

(或$ 1)

答案 2 :(得分:0)

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

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