我正在shell中工作,试图在一堆CSV文件中找到NUL字符(Python的CSV导入程序正在喋喋不休,但那是另一次),它使用我自豪的, self:find/xargs/perl -ne的当前文件名?
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,则它将采取相同的行动。 – aschepler 2011-05-04 23:28:56
对不起,它正在调试残留在那里。 – pauloppenheim 2011-05-05 00:11:21