我的输入字符串如下所示:
1 warning: rg: W, MULT: file 'filename_a.h' was listed twice.
2 warning: rg: W, SCOP: scope redefined in '/proj/test/site_a/filename_b.c'.
3 warning: rg: W, ATTC: file /proj/test/site_b/filename_c.v is not resolved.
4 warning: rg: W, MULTH: property file filename_d.vu was listed outside.
如上所述,它们有四种不同的口味。我逐行从日志文件中读取这些内容。
对于指定路径的那个(第 2,3 行),我可以使用提取文件名$file=~s#.*/##;
并且似乎工作正常。有没有办法不对不同类型使用条件语句并提取文件名?我只想使用一个干净的正则表达式并提取文件名。PerlFile::basename
在这种情况下也不起作用。
我正在使用 Perl。