나는 셸에서 CSV 파일 묶음에서 NUL 문자를 찾으려고 노력 중이다. (파이썬의 CSV 가져 오기 도구가 그다지 흥미롭지는 않지만 또 다른 시간이다) 자체 :find/xargs/perl -ne의 현재 파일 이름은 무엇입니까?
find ~/path/ -name "*.csv" -print0 | \
xargs -n 1 -0 \
perl -ne 'if(m/\x{00}/){print fileno(ARGV).join(" ",@ARGV).$_;}'
제외 파일 이름이 없습니다. Allegedly 내 이 내 스크립트를 래핑하는 내재적 인 <> 연산자는 @ARGV
/ARGV
파일 핸들을 사용하고 있지만 위의 어느 것도 현재 파일의 이름을 제공하지 않습니다.
위의 파일 이름 (및 이상적으로 줄 번호)은 어떻게 표시됩니까?
왜'xargs를 않습니다를 -n 1'은 perl 프로세스 당 하나의 파일을 제한합니까? 만약 당신이'perl -n' 모드를 사용 중이고 매우 부적절한 일을하지 않는다면, xargs가 동일한 펄에 여러 개의 파일 이름을 줄 수 있다면 같은 행동을 할 것입니다. – aschepler
죄송합니다, 거기에 왼쪽 cruft 디버깅을했다. – pauloppenheim