プロが教えるわが家の防犯対策術!

よろしくお願いします。

改行コードには、
・LF(ラインフィード、0A、\n)
・CR(キャリッジリターン、0D、\r)
かあるようですが、
通常、エディタで改行した場合、
CR+LFで設定されていると思います。

改行コードが混在しているファイルがあり、
LFのみの場合はLF(改行)を削除したいのですが、
私が使っているエディタ「TeraPad」では、この違いを認識しないようです。
(改行マークが同じだった)

改行コードの違いを認識でき、かつLFのみの場合は削除できるようなエディタ、
またはその方法はないでしょうか?

※EmEditorとVxEditorも試しましたが、どちらも違いを認識できませんでした。

A 回答 (3件)

エディタというよりも、元のファイルを作成したOSによる(エディタはOSに合わせてファイルの改行コードを吐き出している)ように思います。



CRCFはそのまま置いておいて、LF単体で出てきた時だけ取り去りたいなら、バイナリーエディタを使って、検索条件で「CR以外の文字+LF」を「CR以外の文字」に置換するような検索置換設定をすればよさそうに思います。

(これくらいなら、自分でプログラムを組んでもそんなに難しくはなさそうな感じがします。)
    • good
    • 0
この回答へのお礼

foobar様、ご回答ありがとうございました!

ご回答いただいた「「CR以外の文字+」のやり方が分かっていなかったのですが、admiral_ya様のご回答から、正規表現で不一致の検索ができると判明し、

 (?<!0D),0A

と記載し対応しました。
最悪、捨てプロを作らないと…と思っていたところでした。
(1回しか使わないので。)

ありがとうございました!

お礼日時:2012/03/29 19:12

秀丸エディタでは、バイナリモードでも開けるので、0A だけの削除が出来ます。


1.「その他-動作環境-ファイル」で "「バイナリモードで開く」を使う" を ON
2.「ファイル-開く」で「バイナリモードで開く」を ON にしてファイルを開く
3.「検索-置換」で「正規表現」を ON にして、
  0D,(?!(\n0A|0A))
 (↑先頭の空白無視)を検索文字列として空文字に置換
    • good
    • 0
この回答へのお礼

admiral_ya様、ご回答ありがとうございます!

admiral_ya様のご回答よりヒントを得まして、

 (?<!0D),0A

を検索、空文字に置換することで対応できました!

ありがとうございました!

お礼日時:2012/03/29 19:09

目的が見えないのですが, たいていのバイナリエディタで可能だと思います.

この回答への補足

Tacosan様、ご回答ありがとうございます。

目的は、本文に記載の通り、
「改行コードが混在しているファイルがあり、LFのみの場合はLF(改行)を削除したい」
ということです。

「TeraPad」でも「EmEditor」でも「VxEditor」でもCR+LFとLFの違いを認識しないため、
LFを削除する、ということができなかったのです。

バイナリエディタで削除、も考えましたが、
LF(0A)を検索すると、CR+LF(0D0A)の「0A」も検索されてしまうので、
削除ができませんでした。

バイナリエディタでどのようにすればよいか、教えていただけますでしょうか?

補足日時:2012/03/29 14:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!