问题描述 投票:0回答:1
./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是通常用于此目的的值。

regex perl
1个回答
0
投票
just。


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.