./c/d/b.txt
具有空白的空白线
./c/d/m.txt
在第3行中有空行运行
find . -name "*.txt" -type f -exec perl -00 -ne 'print "$ARGV\n" if ($_ =~ /hello\s+peppa/msi);' {} \;
将打印
./c/d/b.txt
但不打印
./c/d/m.txt
。我期望它也打印./c/d/m.txt
如果有帮助,则是文件的六角形
[user@host]$ hexdump -v -C ./c/d/m.txt
00000000 68 65 6c 6c 6f 0a 20 20 20 20 0a 0a 20 20 20 20 |hello. .. |
00000010 70 65 70 70 61 0a |peppa.|
00000016
[user@host]$ hexdump -v -C ./c/d/b.txt
00000000 68 65 6c 6c 6f 0a 20 20 20 20 0a 20 0a 20 20 20 |hello. . . |
00000010 20 70 65 70 70 61 0a | peppa.|
00000017
我能够验证Perl 5.16和5.38是否发生这种情况。
-00
特殊值00将在段落模式下导致perl slurp文件。任何值0400或以上都会导致perl整体填充文件,但是按照惯例,值0777是通常用于此目的的值。