perl 删除两个斜线正则表达式

perl 删除两个斜线正则表达式

我有一个文件,里面有很多行

所有包含

file=/aaaaaaa/bbbbbbb/cccccc/dddddd.txt

它需要被剥离成这种格式

file=/dddddd.txt

我在 bash 中执行 perl 类似这样的操作

perl -i -pe 'regex' /localpath/file.txt

在上面的‘regex’中的 perl 命令中,我需要命令来执行此操作,该怎么做?

答案1

如果你只是想提取文件,我会使用文件::基本名称

答案2

perl -n -e 'print $1.$2."\n"if (/(.+\=)\/.+\/.+\/.+(\/.+)$/)' /localpath/file.txt > newfile.txt

可能有更优雅的方法来实现它。

答案3

 perl -ne '/(.*=).*\/(.*)$/ && print "$1/$2\n"' /localpath/file

相关内容