我有一组键/值对,使用完全限定名称列出可执行文件,如下所示:
["exec"] = "/share/home/00288/tg455591/NAMD_2.8b3/NAMD_2.8b3_Linux-x86_64-MVAPICH-Intel-Ranger/namd2",
但是,我想取出目录位置并仅打印可执行文件,例如:
["exec"] = "namd2",
如何构建正则表达式来进行此更改?请记住,文件中的所有可执行文件都不同,但它们的格式类似。文件大小约为6000行。提前谢谢。
答案 0 :(得分:1)
这个正则表达式起到了作用:
(?<=\["exec"\] = ").+?(?=[^/]+?(?:\.\w+)?")
替换为:
\1\2
答案 1 :(得分:1)
试试这个:
(?<="exec"] = ")[^"]*?/([^/"]+)(?=")
这将取代:
\1
(或$ 1)
答案 2 :(得分:0)
如果我正确理解了这个问题,这个sed
命令可以解决问题:
sed 's|= .*/|= "|'