Linux状でWindowsとLinux間の改行コードの変換を行います。
記事の目次
Windowsの改行コード(CRLF)をLinuxの改行(LF)コードに変更する!(sed)
sedコマンドで、「\r」を削除する方法で変換します。
$ sed -i 's/\r//g' test.txt $ od -c test.txt 0000000 1 2 3 \n 4 5 6 \n 0000010
Linuxの改行コード(LF)をWindowsの改行コード(CRLF)に変更する!(sed)
Windowsの改行コードのファイルを用意します。
$ cat test.txt 123 456 $ od -c test.txt 0000000 1 2 3 \r \n 4 5 6 \r \n 0000012
sedコマンドで行末に「\r」を追加する方法で変換します。
$ od -c test.txt 0000000 1 2 3 \n 4 5 6 \n 0000010 $ sed -i 's/$/\r/g' test.txt [usradmin@vmsrhe01 ~]$ cat test.txt 123 456 [usradmin@vmsrhe01 ~]$ od -c test.txt 0000000 1 2 3 \r \n 4 5 6 \r \n 0000012
Windowsの改行コード(CRLF)をLinuxの改行(LF)コードに変更する!(tr)
trコマンドで、「\r」を削除する方法で変換することもできます。
$ od -c test.txt 0000000 1 2 3 \r \n 4 5 6 \r \n 0000012 $ cat test.txt | tr -d '\r' > test2.txt [usradmin@vmsrhe01 ~]$ od -c test2.txt 0000000 1 2 3 \n 4 5 6 \n 0000010
おわりに
Linux上で改行コードを変換する場合は、少しテクニックが必要です。可能かぎり、ファイル転送ソフトの機能でファイル転送をしながら改行コードを変更するようにしましょう。
関連記事
関連書籍(Amazon)