【发布时间】:2011-08-18 22:59:10
【问题描述】:
我在 shell 中工作,尝试使用 so-proud-of-my-ever-clever 在一堆 CSV 文件(Python 的 CSV 导入器正在考虑,但那是另一次)中找到 NUL 字符-自我:
find ~/path/ -name "*.csv" -print0 | \
xargs -n 1 -0 \
perl -ne 'if(m/\x{00}/){print fileno(ARGV).join(" ",@ARGV).$_;}'
除了我没有看到文件名。 据称 perl -ne 包装我的脚本的隐式 运算符只是使用 @ARGV / ARGV 文件句柄,但以上都没有给我当前文件的名称。
我如何在上面看到当前文件名(最好是行号)?
【问题讨论】:
-
为什么
xargs -n 1限制每个 perl 进程一个文件?如果您使用perl -n模式并且没有做任何非常偷偷摸摸的事情,那么如果 xargs 允许为同一个 perl 提供多个文件名,它的行为也会相同。 -
抱歉,里面有调试垃圾。