Posted at

改行コードを、CRLFからLFに変更する方法

More than 3 years have passed since last update.

perlファイルが改行コードがLFではなかったため、実行が失敗した。


問題

改行コードのせいで、/usr/bin/perlが正しく判断できなかったらしい。

以下のようなメッセージが出た。


/usr/bin/perl^M: bad interpreter: そのようなファイルやディレクトリはありません


ちなみに、テストしたときは、perl コマンドを使って実行していたので、発見できなかった…

(うまくテストできないテストをした、超初心者のエラーか... Orz)


改行コード調べる方法

 cat -e

現状の改行コードを調べる。何も表示されない場合はLF

 $ file test.txt

 test.txt: ASCII text


dos2unix コマンドで改行コード変換

引数に、変換したいファイル(test.txt)を指定し、変換した結果を新ファイル(new_test.txt)に保存する

 $ cat test.txt | dos2unix > new_test.txt 

もし、dos2unixコマンドが入っていなかったら、yumでインストールできる。

 $ yum install dos2unix

 パッケージが入っているかどうか確認

 $ rpm -qa | grep dos2unix 


参考

dos2unixコマンドで改行コード変換

色々な改行コード変換の方法