2012-01-21 4 views
1

を見つけることができません私は、LDAPスキーマを得たが、長い行をLDIFDE包むので、後に、私は、ファイルを修正するには、このコマンドを見つけましたが、私は次のエラーを取得していググ:アンラップテキストファイルは - 文字列ターミネーターERRORに

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> 

コンテンツを1行に置き換えても同じエラーが発生するので、文章が間違っていると思います。

あなたはそれについていくつか手がかりを与えてもらえますか?Im newbie on perl。

ありがとう、 m0dest0。

+0

問題は引用符であった、ありがとう – m0dest0

答えて

3

あなたは窓にいるようです。あなたはそれだけで標準出力に出力し、これは、入力ファイルを変更しないことに注意する必要があり

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

:Windowsは、単一引用符'を認識しない、あなたは二重引用符"を使用する必要があります。ファイルを変更したい場合は、インプレース編集スイッチを追加することができます。 -i.bak(バックアップをtest.ldf.bakに保存)またはリダイレクトを使用してください:

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

野生の推測ですが、クォートがコマンドプロンプトであなたを台無しにしている可能性がありますか?その1行をファイルに入れて、perl -p file.pl test.ldfが実行されるかどうかを確認してください。