Regex 帮助使用perl正则表达式解析值
我一直在试图找出perl正则表达式来提取以下值:(home/mail/dump dirs总是相同的)。谢谢Regex 帮助使用perl正则表达式解析值,regex,perl,Regex,Perl,我一直在试图找出perl正则表达式来提取以下值:(home/mail/dump dirs总是相同的)。谢谢 abc 123456 这是输出: drwxr-xr-x - mail_hd mail_users 0 2011-03-26 20:12 /home/mail/dump/abc drwxr-xr-x - mail_hd mail_users 0 2011-04-15 09:10 /home/mail/dump/123456 可能使用and代替。可
abc
123456
这是输出:
drwxr-xr-x - mail_hd mail_users 0 2011-03-26 20:12 /home/mail/dump/abc
drwxr-xr-x - mail_hd mail_users 0 2011-04-15 09:10 /home/mail/dump/123456
可能使用and代替。可能使用and代替。可能这是有用的,应该返回您需要的
if ($subject =~ m!/home/mail/dump/(.*)$!) {
$result = $1;
} else {
$result = "";
}
它匹配了
/home/mail/dump/
之后的所有内容,直到行尾也许这是有用的,应该返回您需要的内容
if ($subject =~ m!/home/mail/dump/(.*)$!) {
$result = $1;
} else {
$result = "";
}
它匹配/home/mail/dump/
之后的所有内容,直到行尾这类似于
在“/”上拆分并获取最后一项
awk -F"/" '{print $NF}' file
Ruby(1.9+)(与Perl类似)
这类似于
在“/”上拆分并获取最后一项
awk -F"/" '{print $NF}' file
Ruby(1.9+)(与Perl类似)
下面的perl正则表达式将只给出最后一个正斜杠后面的字符
s=.*/==
例如:
$ echo 'wxr-xr-x - mail_hd mail_users 0 2011-03-16 18:46 /home/mail/dump/abc' | perl -pe 's=.*/=='
abc
下面的perl正则表达式将只给出最后一个正斜杠后面的字符
s=.*/==
例如:
$ echo 'wxr-xr-x - mail_hd mail_users 0 2011-03-16 18:46 /home/mail/dump/abc' | perl -pe 's=.*/=='
abc
由于OP要求使用Perl,
Perl-F/-lane'print$F[-1]'文件
@ikegami。你们应该提供一个答案。谢谢你们,这些都是很好的答案。看到其他版本很酷。我将使用这些。由于OP要求使用Perl,Perl-F/-lane'print$F[-1]'文件
@ikegami。你们应该提供一个答案。谢谢你们,这些都是很好的答案。看到其他版本很酷。我将使用这些工具。使用File::Basename qw(Basename);basename((拆分(“”,$,8))[-1])
使用文件::basename qw(basename);basename((拆分(“”,$,8))[-1])