改行コード: 調べる方法、一括置換など
UB3/informatics/basics/text_files_line_feed
このページの最終更新日: 2024/09/30広告
概要: 改行コードとは
このページでは、テキストファイルにおいて改行 line feed を指定する
改行コードとは、文章が改行することを指示する制御文字である。OS によって異なるので、まず注意が必要。
CR は Carriage Return、LF は Line Feed の略で、それぞれ成り立ちが異なる改行コードらしい。実際には、現在多くのテキストエディタが CR および LF の両方に対応しており、問題が生じることは少ない (1)。
やっかいなのは、Unicode 系の改行コードである (3)。新しいシステムでは、エラーになることが多いような気がする。
2023 年 11 月、Mac OS Ventura、Office 365。csv ファイルから複数のセルを選択してテキストエディットに貼り付ける。この場合、改行コードは Windows の \r\n になっているようで、これを shell の while read line で読み込むと、テキストファイルの見た目通りにならない。VScode に貼り付けると、この問題は起こらなかった。
OS |
改行コード |
実際の文字 |
Windows 系 |
CRLF |
\r\n |
Unix 系 |
LF |
\n |
CR |
\r |
|
Unicode 系 |
NEL |
U+0085 |
改行コードを確認する方法
Mac のターミナル で調べるには、od コマンドを使う (2)。
たとえば xyz.txt というファイルで改行コードを調べたい場合には、以下のようにする。
これでファイルの内容がターミナル上に吐き出され、\r や \n という文字が見えるはずである。画面から抜ける場合は q をタイプする。なお、文字コードを調べたい場合は
とする。
改行コードの一括置換
分子系統樹 を書くために配列を FASTA 形式 で集めていたが、途中に改行が入ってしまう配列が混在していて、これを一括で除きたかった。しかし、配列名と配列の間にある改行はキープしておきたかったので、ちょっと難しかった。
つまり
AGTGATGTGTGATAGTCAACAGTCGAT (改行: これは消したい)
GCTGTCGATCAGTCCAACCAGTCCGAT (改行: これは消したい)
AGTGCATTCGATCCAACCCCCCGCACT (改行: これは消したい)
Word を使う方法
Terminal を使う方法があるが、実は Microsoft Word を使うのが簡単だった。
- Word を開いて、Edit - Advanced Find and Replace
- Find what のボックスにカーソルを置いて、特殊文字 Specia から
Paragraph mark を選択 - ^p と表示される。これが改行のマーク
- これを手動で 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 に置換される。
広告
References
- weblio 辞書. 改行コード. Link: Last access 2018/01/21.
- 改行コードの変換. Link: Last access 2018/01/21.
- 入力改行コード指定. Link: Last access 2018/05/24.
コメント欄
サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。