改行コードよく分からんから一括置換すればいい
Linuxの話ね。前職ではtailコマンドくらいしか打ったことなかったんだけど(ちょっと嘘)
普通に日々本番機を触るお仕事にかわった。で、Windowsも使いつつごちゃごちゃやってたら
案の定「改行コードあかーん!」ってギリギリのタイミングで気付くという事態が起きた。
そして一瞬で変換できることを知ったのでメモ。
環境:CentOS 6.5 確認に使ったファイル:雑極まりない"Windows.txt" ※カレントディレクトリにある設定
|
ほーらdosやで!(Vimはろくに使えないけど使ってるフリ)
①改行コードを確認する
odコマンドを使います!
オプションは色々あるので--help
に助けてもらおう。
たとえば・・・od -a Windows.txt
と叩くと
0000000 H e l l o cr nl E v e r y o n e cr 0000020 nl : ) cr nl 0000025 |
od -c Windows.txt
と叩くと
0000000 H e l l o \r \n E v e r y o n e \r 0000020 \n : ) \r \n 0000025 |
っていうふうに返ってくる。一目で怪しいと分かるのだ。
★ここで改行コードメモ(なお一生覚えられない病である)
Windows | \r\n(CR+LFというやつ) |
UNIX系 | \n(LFというやつ) |
OS X | \r(CRというやつ) |
②改行コードを一括置換する
dos2unixコマンドを使います!dos2unix Windows.txt
とするだけだよ。od -a Windows.txt
で確かめてみよう~
0000000 H e l l o nl E v e r y o n e nl : 0000020 ) nl 0000020 |
置換されている!
逆がやりたかったら、unix2dosだ~。
コマンドが見つかりませんと言われてしまっても yum install dos2unix
すればOKよん。
参考(というかただの引用です。ありがとうございます。)
Linux上のファイルの改行文字を確認する方法 - Miuran Business Systems