find / xargs / perl -ne的当前文件名?

前端之家收集整理的这篇文章主要介绍了find / xargs / perl -ne的当前文件名?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在 shell中工作,尝试在一堆CSV文件中找到NUL字符( Python的CSV导入器正在喋喋不休,但那已经是另一次了)使用我自豪的自己聪明的自我:

find ~/path/ -name "*.csv" -print0 | \
xargs -n 1 -0 \
perl -ne 'if(m/\x{00}/){print fileno(ARGV).join(" ",@ARGV).$_;}'

除了我看不到文件名.据称隐含的<> perl -ne包含我的脚本的运算符只是使用@ARGV / ARGV文件句柄,但上面的两个都没有给我当前文件名称.

如何查看上面的当前文件名(以及理想情况下的行号)?

解决方法

$ARGV是当前文件名称,$.是当前行号;请参阅perldoc perlop中的perldoc perlvar和I / O运算符. (注意$.不会在文件之间重置;在perldoc -f eof中有讨论.)

而且我不完全确定你要用那个印刷品来完成什么.它会给你一个文件句柄号,大概是3,前面是一个以空格分隔的文件名列表(由于xargs -n可能只是一个),然后是包含NUL和其他潜在终端的当前行 – 混淆角色.

猜你在找的Perl相关文章