改行コード: 調べる方法、一括置換など

informatics/basics/text_files_line_feed
2018/05/24 更新

  1. 概要: 改行コードとは
    • 改行コードを確認する方法
  2. 改行コードの一括置換

広告

概要: 改行コードとは

このページでは、テキストファイルにおいて改行 line feed を指定する 改行コード line feed code と、改行を一括置換する方法について述べる。以下は参考ページ。


改行コードとは、文章が改行することを指示する制御文字である。OS によって異なるので、まず注意が必要。

CR は Carriage Return、LF は Line Feed の略で、それぞれ成り立ちが異なる改行コードらしい。実際には、現在多くのテキストエディタが CR および LF の両方に対応しており、問題が生じることは少ない (1)。

やっかいなのは、Unicode 系の改行コードである (3)。新しいシステムでは、エラーになることが多いような気がする。

OS

改行コード

実際の文字

Windows 系

CRLF

\r\n

Unix 系

LF

\n

Mac OSX

CR

\r

Unicode 系

NEL
LS
PS

U+0085
U+2028
U+2029


改行コードを確認する方法

Mac のターミナル で調べるには、od コマンドを使う (2)。

たとえば xyz.txt というファイルで改行コードを調べたい場合には、以下のようにする。

> od -c xyz.txt | less

これでファイルの内容がターミナル上に吐き出され、\r や \n という文字が見えるはずである。画面から抜ける場合は q をタイプする。なお、文字コードを調べたい場合は

> fime --mime xyz.txt

とする。


広告

改行コードの一括置換

分子系統樹 を書くために配列を FASTA 形式 で集めていたが、途中に改行が入ってしまう配列が混在していて、これを一括で除きたかった。しかし、配列名と配列の間にある改行はキープしておきたかったので、ちょっと難しかった。

つまり

> Seq1 (改行: これは消したくない)
AGTGATGTGTGATAGTCAACAGTCGAT (改行: これは消したい)
GCTGTCGATCAGTCCAACCAGTCCGAT (改行: これは消したい)
AGTGCATTCGATCCAACCCCCCGCACT (改行: これは消したい)

Word を使う方法

Terminal を使う方法があるが、実は Microsoft Word を使うのが簡単だった。

  1. Word を開いて、Edit - Advanced Find and Replace
  2. Find what のボックスにカーソルを置いて、特殊文字 Specia から Paragraph mark を選択
  3. ^p と表示される。これが改行のマーク
  4. これを手動で Replace していけばいい。1 クリックで一つ除けるので、手作業よりはずっと楽。

テキストエディットを使う方法

Mac にデフォルトで入っているテキスト編集ソフト、テキストエディットでも改行の一括置換ができる。Command + F で検索モードにして、「置換」にチェックを入れる。

下向きの三角をクリックすると、図のように、改行を検索および置換の対象として選択できる。


ここで Paragraph Break と Line Break があるが、Paragraph Break は次のパラグラフを始めるので、html だったら </p> タグで閉じることに相当する。Line Break は br タグ で単に改行を入れることに相当する。

Paragraph Break と Line Break はそれぞれ Unicode の U+2029 および U+2028 に相当するのかもしれない。調べたい場合は、od コマンドでテキストを表示する。Unicode ならば <U+2029> などのように表示される。しかし、少なくともテキストエディットで Line Break を Line Break に全置換すると、Mac の改行コード \n に置換される。


広告

コメント欄

一言コメントをどうぞ! (基本500字まで - 100字のページもあるかも)


フォーラムを作ったので、各ページにあるコメント欄のうち、コメントがついていないものは順次消していきます。今後はフォーラムをご利用下さい。管理人に直接質問したい場合は、下のバナーからブログへ移動してコメントをお願いします。


References

  1. weblio 辞書. 改行コード. Link: Last access 2018/01/21.
  2. 改行コードの変換. Link: Last access 2018/01/21.
  3. 入力改行コード指定. Link: Last access 2018/05/24.