スポンサーリンク

fileコマンドで改行コードを確認

fileコマンドで改行コードを確認できます。
下記にfileコマンドの実行例を載せたいと思います。
※MACターミナル(BSD系)での動作確認です。

nkfで改行コードをCRLFに変換します。

 $ nkf -Lw --overwrite file1.txt 

CRLFの改行コードと確認できました。
 $ file file1.txt 
file1.txt: UTF-8 Unicode text, with CRLF line terminators

nkfで改行コードをLFに変換します。
 $ nkf -Lu --overwrite file1.txt 

LFの場合、改行コードは何も表示されません。
 $ file file1.txt 
file1.txt: UTF-8 Unicode text

nkfで改行コードをCRに変換します。
 $ nkf -Lm --overwrite file1.txt 

CRの改行コードと確認できました。
 $ file file1.txt 
file1.txt: UTF-8 Unicode text, with CR line terminators

MACの場合はHomebrewでnkfをインストールしました。
 $ brew install nkf

スポンサーリンク

findで再帰的にディレクトリ以下のファイルの改行コードを確認

findとfileコマンドを組み合わせます。

下記のように、再帰的に確認できます。

  $ find . -type f -exec file {} \;
./dir/file5.txt: UTF-8 Unicode text
./dir/file6.txt: UTF-8 Unicode text
./file1.txt: UTF-8 Unicode text
./file2.txt: UTF-8 Unicode text
./file3.txt: UTF-8 Unicode text
./file4.txt: UTF-8 Unicode text

3ファイルをCRLFの改行コードに変換します。
  $ nkf -Lw --overwrite file1.txt file3.txt dir/file5.txt 

findとfileとgrepを組み合わせて、CRLFの改行コードのファイルを抽出しています。
 $ find . -type f -exec file {} \; | grep CRLF
./dir/file5.txt: UTF-8 Unicode text, with CRLF line terminators
./file1.txt: UTF-8 Unicode text, with CRLF line terminators
./file3.txt: UTF-8 Unicode text, with CRLF line terminators

下記のような使い方もできますね。
ディレクトリ以下全てのファイルを、LFの改行コードに変換します。
 $ find . -type f -exec nkf -Lu --overwrite {} \;

スポンサーリンク