我有一个名为file的文件有三行:
第一
行第二
行第三行
当我这样做:
perl -ne'打印if/one /'文件
我得到这个输出:
第一行
当我尝试这个:
perl -pe'next除非/ one /'文件
输出是:
第一
行第二
行树
我期望两个单线的输出相同.我的期望是错的还是错的?
你的期望是错误的.该-p开关在您的代码周围放置以下循环:
LINE:
while (<>) {
... # your program goes here
} continue {
print or die "-p destination: $!\n";
}
Run Code Online (Sandbox Code Playgroud)
如果您阅读文档next,它说:
请注意,如果上面有一个
continue块,它甚至会在丢弃的行上执行.
next实际上跳转到continue块(如果有的话),然后再回到循环的状态.
你可以做点什么
perl -pe '$_ = "" unless /one/' file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
493 次 |
| 最近记录: |