perl - 在“perl -n”单线中的下一个文件上重置状态变量
问题描述
我正在处理多个文件,find ... | xargs perl -ne
当我继续处理下一个文件时,我需要像这样gawk 'BEGINFILE {}'
做一样重置一些变量。
作为一种解决方法,我检查当前文件名是否已更改。有没有更清洁的方法?
if ($oldARGV ne $ARGV) { $oldARGV = $ARGV; $var1=""; ... } ...
解决方案
不带参数使用eof
(或带eof ARGV
):
$ perl -nE 'say "Done with file $ARGV" if eof' *.txt
Done with file a.txt
Done with file b.txt
推荐阅读
- javascript - 动态加载图像时轮播问题
- c++ - 有没有办法使用十进制 ASCII 码通过自动类型推断来获取字符?
- javascript - JavaScript。循环问题
- arrays - Angular 5 从 JSON 结果构建表单数组
- sql-server - SQL Server 2016 + 链接服务器加入 = 未返回行
- sql - 用户定义的表类型插入导致转换错误
- html - 使屏幕阅读器可以访问步骤进度指示器
- azure - 创建后端地址池时配置状态为空白
- java - 使用 iText 在 Java 中合并 PDF 时出现意外的不同页面大小
- python - 将数据框python中每一行的前h值乘以k