Perl 展开文本文件-可以';找不到字符串终止符错误

Perl 展开文本文件-可以';找不到字符串终止符错误,perl,Perl,我得到了一个LDAP模式,但ldifde包装了长行,所以在谷歌搜索后,我找到了这个命令来修复该文件,但我得到了以下错误: c:\Perl64\bin>perl -p -e 'BEGIN {$/ = undef} s/\n(?=[a-z])/ /g' test.ldf Can't find string terminator "'" anywhere before EOF at -e line 1. c:\Perl64\bin> 即使用一行替换内容,我也会得到同样的错误,所以

我得到了一个LDAP模式,但ldifde包装了长行,所以在谷歌搜索后,我找到了这个命令来修复该文件,但我得到了以下错误:

c:\Perl64\bin>perl -p -e 'BEGIN {$/ = undef}    s/\n(?=[a-z])/ /g' test.ldf
Can't find string terminator "'" anywhere before EOF at -e line 1.

c:\Perl64\bin>
即使用一行替换内容,我也会得到同样的错误,所以我认为句子是错的

你能给我一些线索吗,我是perl的新手

谢谢,
m0dest0。

胡乱猜测,但在命令提示中,引用是否会把您搞砸?试着把这一行放在一个文件中,看看
perl-pfile.pl test.ldf
是否会运行。

胡乱猜测,但在命令提示符中引用是否会把你搞糊涂?试着把这一行放在一个文件中,看看
perl-pfile.pl test.ldf
是否会运行。

您似乎是在windows上。Windows无法识别单引号
,您需要使用双引号

您应该知道,这不会更改输入文件,它只是打印到标准输出。如果要更改文件,可以添加就地编辑开关,例如
-i.bak
(将备份保存在test.ldf.bak中)或使用重定向:

c:\Perl64\bin>perl -pe "BEGIN {$/ = undef} s/\n(?=[a-z])/ /g" test.ldf > out.ldf

您似乎在windows上。windows无法识别单引号
,您需要使用双引号

您应该知道,这不会更改输入文件,它只是打印到标准输出。如果要更改文件,可以添加就地编辑开关,例如
-i.bak
(将备份保存在test.ldf.bak中)或使用重定向:

c:\Perl64\bin>perl -pe "BEGIN {$/ = undef} s/\n(?=[a-z])/ /g" test.ldf > out.ldf

问题是报价,谢谢问题是报价,谢谢