对于下面提供的示例数据和程序,请帮助我找到正确的正则表达式。如何仅提取文件系统名称/
#cat df.dat
/root
/dev/data1
/dev/data1/data3
/usr/local/oravg/oradat
用什么模式来提取根,数据1,数据3和oradat没有 “/”
$ perl的grepperl.pl -pattern =”'df.dat
$ cat grepperl.pl
#! /usr/bin/perl -s -wnl
BEGIN {
# -pattern='RE' switch is required
$pattern or
warn "Usage: $0 -pattern='RE' [ file1 ... ]\n" and
exit 255;
}
/$pattern/ and print;
你可以使用这个'(?<= /)\ w + $' –
如果你正在操作的路径,你应该使用的路径操作模块,而不是一个正则表达式。选择一个:[Path :: Tiny](https://metacpan.org/pod/Path::Tiny),[Path :: Class](https://metacpan.org/pod/Path::Class),[文件::规格(https://metacpan.org/pod/File::Spec)。 –