我被困在试图找出perl正则表达式来提取以下值:(/ home/mail/dump dirs将始终是相同的)。谢谢。帮助使用perl正则表达式解析值
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
我被困在试图找出perl正则表达式来提取以下值:(/ home/mail/dump dirs将始终是相同的)。谢谢。帮助使用perl正则表达式解析值
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
这类似于this.
拆分的 “/”,并获得了最后一个项目
awk -F"/" '{print $NF}' file
红宝石(1.9+ )(与Perl类似)
$ ruby -ne 'print $_.sub(/.*\//,"")' file
abc
123456
$ ruby -F"/" -ane 'print $F[-1]' file
abc
123456
也许这是有用的,应该返回你所需要的。
if ($subject =~ m!/home/mail/dump/(.*)$!) {
$result = $1;
} else {
$result = "";
}
它/home/mail/dump/
一切之后直到匹配行结束
以下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 2011-04-09 05:22:40
@ikegami。你应该提供这个答案。 – kurumi 2011-04-09 05:51:46
这真的是你的。只需编辑它即可。 – ikegami 2011-04-09 06:21:38