参考 : https://ss64.com/bash/dos2unix.html
dos2unix
Windowsで使用される「MS-DOS」からUnixテキストファイル形式に変換を行うコンバーターコマンドです。
https://www.ddc.co.jp/words/archives/20050810210448.html
dos2unix [options] [-c *convmode*] [-o *file* ...] [-n *infile outfile* ...]
-b
または --keep-bom: BOM(Byte Order Mark)を保持します。-c
または --convmode [mode]: ファイル変換モードを設定します。modeには以下のいずれかを指定できます。- ascii: デフォルトモード。**CRLF を LF に変換します。(windows上から輸入されたファイルを変換します。)** - 7bit: 7ビットASCII変換を実行します。 - iso: ISO変換を実行します。 - mac: CR を LF に変換します。(主にMAC OSで作成されたファイルをlinux上のコードに変換します。)
-f
または --force: 対話的な確認なしにファイルを強制的に変換します。-h
または --help: ヘルプメッセージを表示します。-k
または --keepdate: 変換後もファイルのタイムスタンプを保持します。-l
または --newline: 各ファイルに新しい行を追加します。-n
または --oldfile newfile: 新しいファイルに変換結果を書き込みます。-o
または --oldfile: 既存のファイルを変換します(デフォルト動作)。q
または --quiet: 静かに実行します(警告メッセージを表示しません)。-r
または --remove-bom: BOM(Byte Order Mark)を削除します。-V
または --version: バージョン情報を表示します.
dos2unixは、dos形式のプレーンテキストファイルをunix形式に変換します。 主にwindowsから輸入してきたファイルをlinux上でも適切に動作するように変換するために使われます。
dos2unix
で変換した後のバージョンには、バイトオーダーマーク(BOM)を追加/削除し、代替コードページを処理する追加のオプションがあります。
dos2unix
を使用せずに、sedを使用した代替方法もあります。
sed -i -e 's/\r//g' file
例
- filename.txtを変換し、同じファイルに保存します。
dos2unix filename.txt
- input.txtを変換し、output.txtに出力を送信します:
dos2unix -n input.txt output.txt
- 確認せずに強制的に変換
dos2unix -f filename.txt
- ASCII変換モードでinput.txtを変換します:
dos2unix -c ascii -n input.txt output.txt
- ISO変換モードでinput.txtを変換しoutput.txtに出力
dos2unix -c iso -n input.txt output.txt
- 警告を出させずに実行
dos2unix -q filename.txt