改行コードの変換方法: 仕事を早く片付けて遊ぶための技術メモ

◆WindowsやMacで作成したファイルをUnix上で扱う際の、改行コードの変換方法です。

●改行コード
 ・Unix   : n
 ・Windows : rn
 ・Macintosh: r

●Perlを使っての改行コード変換コマンド
 ・Windows → Unix
  % perl -pe ‘s/rn/n/’ input-file > output-file

 ・Unix → Windows
  % perl -pe ‘s/n/rn/’ input-file > output-file

 ・Macintosh → Unix
  % perl -pe ‘s/r/n/g’ input-file > output-file

 ・Windows → Unix
  % perl -pe ‘s/n/r/’ input-file > output-file

●Unix上で、viを使った変換方法
・Windowsファイルの変換方法
  ※「^M」は「Ctrl」+「V」→「Ctrl」+「M」と続けて入力します。
  :1,$s/^M$// 

 ・Macintoshファイルの変換方法
  ※最初の「^M」は「Ctrl」+「V」→「Ctrl」+「M」と続けて入力し、
   2番目の「^M」は、「Ctrl」+「V」→Enter でUnixの改行コードを
   入力します。
  :1,$s/^M^M/g

●変換結果の確認方法
 ・cat -vオプションを指定すると、「r」が「^M」という文字列で表示
  されるので、「^M」という文字列が表示されるので、付加されたか、
  削除されたかで確認できます。

 ・もしくはコードレベルで確認するには、hexdumpコマンドで、ファイル
  の内容を16進ダンプで表示すると、改行の部分が、
  Unixでは、「0a」
  Windowsでは、「0d0a」
  Macintoshでは、「0d」
  となります。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中