Convert Line Ending/Character Encoding In-Place

ファイルの改行/文字コードを直接置換(書き換え)したい場合 nkf を利用すると簡単にできる。
例:文字コードが UTF8 で改行が Windows(CR+LF)形式のファイルを EUC-JP の LF に変換する場合

$ ls -1
foo
$ nkf --overwrite=.orig -d -We foo
$ ls -1
foo # <- EUC_JP, LF file
foo.orig

in-place 変換オプション
in-place で変換するには –in-place[=SUFFIX] OR –overwrite[=SUFFIX] オプションを利用する。元ファイルをバックアップとして残したい場合は、SUFFIX オプションも利用する。
たとえば、’–in-place=.orig’ オプションの場合、元ファイル(filename)は filename.orig としてバックアップされ、filename の中身が書き換えられる。
PREFIX は指定できない模様。

改行コードオプション

  • Unix (LF) : -Lu OR -d
  • Windows (CRLF) : -Lw OR -c
  • Mac(CR) : -Lm

文字コードオプション

  • ISO-2022-JP (7bit JIS) : j
  • Shift_JIS : s
  • EUC-JP : e
  • UTF-8N : w
  • UTF-16BE : w16

input encoding は小文字で、 output encoding は大文字で指定する
たとえば ‘-sW’ の場合 SJIS を UTF-8N に変換する

Tagged with: , ,
Posted in linux

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives
  • RT @__apf__: How to write a research paper: a guide for software engineers & practitioners. docs.google.com/presentation/d… /cc @inwyrd 1 week ago
  • RT @HayatoChiba: 昔、自然と対話しながら数学に打ち込んだら何かを悟れるのではと思いたち、専門書1つだけ持ってパワースポットで名高い奈良の山奥に1週間籠ったことがある。しかし泊まった民宿にドカベンが全巻揃っていたため、水島新司と対話しただけで1週間過ぎた。 それ… 3 weeks ago
  • RT @googlecloud: Ever wonder what underwater fiber optic internet cables look like? Look no further than this deep dive w/ @NatAndLo: https… 3 weeks ago
  • @ijin UTC+01:00 な時間帯で生活しています、、、 6 months ago
  • RT @mattcutts: Google's world-class Site Reliability Engineering team wrote a new book: amazon.com/Site-Reliabili… It's about managing produc… 9 months ago
%d bloggers like this: