viで修正したファイルに改行コードが入ってしまう
サーバー上にあるプログラムから参照されるファイルをviで修正した際に、どうしても改行コードが入ってしまいます。対応策を下記にまとめました。
viで修正して確認
事象に気がついたのはlinux上のサーバー機でしたが、手元のMacで検証します。適当にtxtファイルを作成して、viで文字を入力後、確認すると以下のように\n が入ってしまいます。。。(odコマンドでダンプ表示)
[user@252 ~]% touch hoge.txt
[user@252 ~]% vi hoge.txt
[user@252 ~]% cat hoge.txt
hogehoge
[user@252 ~]% od -c hoge.txt
0000000 h o g e h o g e \n
0000011
[user@252 ~]%
:set binary noeolで改行を除去して保存
viでファイル編集時に、「:set binary noeol」を実行し、編集を行うと改行文字が入らなくなります。
[user@252 ~]% vi hoge.txt
[user@252 ~]% cat hoge.txt
hogehogehoge% [nishii@252 ~]% od -c hoge.txt
0000000 h o g e h o g e h o g e
0000014
[user@252 ~]%
通常であればファイル末尾に改行をいれておいた方が良いので、どうしても不要な場合に上記を実施しましょう。
この記事が気に入ったらサポートをしてみませんか?