|
akuroと申します。 MACの改行コード(CR)の扱いについておうかがしたいことがございます。 RedHat8.0上コマンドラインより、 vi lunux.txt ------------- aiueo kakikukeko sasisuseso というファイルを作成し、これの改行コードを¥r→¥nに変換しました。 perl -pe 's/¥n/¥r/' linux.txt > mac.txt このファイルをWindows2000クライアントPCにDLしメモ帳で表示したところ。 -------- aiueo■kakikukeko■sasisuseso■ (実際は■は半分くらいの大きさです) となり、¥rが存在する事が確認できます。 自動で改行コードを認識するエディタで表示させると改行されて表示されます。 (サクラエディタ使用) この処理を、Vine2.6R4上で実行し、メモ帳、サクラエディタで見たところ ------- aiueokakikukekosasisuseso 両エディタでみてもこのようになっておりました。 ただ、¥r自体は存在するようなのですが、うまく反映されないのです。 (この結果はFreeBSD5.2でも同様でした。) 色々とこの現象について調べてはいるのですが、原因不明です。 どなたかおわかりの方がいらっしゃいましたらよろしくお願いします。 それと、情報が足りない点がありましたらご指摘お願いいたします。 |
|
>>3983 田 こちらの環境ではいずれも正常に表示されたので、解決方法は わかりませんでした。少しずつ出力を削り、どこがまずいのか 調べましょう。 もし他の掲示板で質問する場合は、これまでに述べた環境に 加え、テーブルのどの部分がどういうふうに崩れるのかを 書くとよいでしょう。 >>3984 akuro まずは問題が発生している箇所を切り分けましょう。 perl 実行後に od -cx などでファイルの内容を確認しましょう。 \r になっているなら、Windows 側かファイル転送時の問題です。 \r になっていないなら、Linux 側の問題です。 |
|
>>3985 68user 返信ありがとうございます。 早速ファイルを確認してみましたところ、 (Vine,redhat8.0での確認) →FREEBSDの方は今起動できないため後でテストしてみます。 0000000 a i u e o \r k a k i k u k e k o 6961 6575 0d6f 616b 696b 756b 656b 6f6b 0000020 \r s a s i s u s e s o \r 730d 7361 7369 7375 7365 0d6f 0000034 と同じ結果となり、¥rは存在する事が判明しました。 という事は、”Windows 側かファイル転送時”の問題のようです。 ファイルの取得方法はRedHatもVineもWinSCPを使用して受けとりました。 受け取ったクライアントPCは同じなので原因は転送時の気がします。 となると、SSHの設定かもしれないです。 まだ、原因はわかりませんが引き続き調査してみます。 |
|
>>3986 akuro 原因は、WinSCPでの転送中にファイルが加工されていたためでした。 一度ローカルにDLした後に、再度サーバーへUPしたところ ファイルのダンプデータが異なりました(ファイルサイズも)。 0000000 a i u e o \r k a k i k u k e k o 6961 6575 0d6f 616b 696b 756b 656b 6f6b 0000020 \r s a s i s u s e s o \r 730d 7361 7369 7375 7365 0d6f ↓DL、UP後 0000000 a i u e o k a k i k u k e k o s 6961 6575 6b6f 6b61 6b69 6b75 6b65 736f 0000020 a s i s u s e s o \0 7361 7369 7375 7365 006f 0000031 sshd_configを調べてみても、転送モードらしきものは見つかりませんでした。 なにかよい方法はありませんでしょうか。 (FTPでバイナリモードにするしかないのでしょうか) FTPを使用してバイナリ転送したところ、問題なく転送できました。 |