[英]Regular Expression to print only executable not full path
我有一组键/值对,使用完全限定名称列出可执行文件,如下所示:
["exec"] = "/share/home/00288/tg455591/NAMD_2.8b3/NAMD_2.8b3_Linux-x86_64-MVAPICH-Intel-Ranger/namd2",
但是,我想取出目录位置并只打印可执行文件,如下所示:
["exec"] = "namd2",
如何构造正则表达式来进行此更改? 请记住,文件中的所有可执行文件都不同,但它们的格式类似。 文件大小约为6000行。 提前致谢。
这个正则表达式起到了作用:
(?<=\["exec"\] = ").+?(?=[^/]+?(?:\.\w+)?")
用。。。来代替:
\1\2
试试看:
(?<="exec"] = ")[^"]*?/([^/"]+)(?=")
这取代:
\1
(或1美元)
如果我正确理解了这个问题,那么这个sed
命令可以解决问题:
sed 's|= .*/|= "|'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.