回答:
unix2dos file
この実装は挿入されないことに注意してくださいCRすべての前にLFのみ前に、LFすでに1つだけが先行していないのCRとバイナリファイルをスキップします(0x0の中でバイト値を含むものは- >が0x1F以外の範囲LF、FF、TABまたはCR)。
または使用sed:
CR=$(printf '\r')
sed "s/\$/$CR/" file
または使用awk:
awk '{printf "%s\r\n", $0}' file
または使用perl:
perl -pe 's|\n|\r\n|' file
'\r'with sedthe trick を使用することでした。
                    これはまさにunix2dosそうです:
$ unix2dos file.txt
これによりfile.txt、インプレースがCRLF行末のバージョンに置き換えられます。
でそれをしたい場合sedは、すべての行の最後に改行を挿入できます。
sed -e 's/$/\r/' file.txt
これsにより、行末($)の直前のゼロサイズ領域が()に置き換えられ\rます。インプレース置換を行うには(そうするようにunix2dos)、を使用しますがsed -i.bak、これは非標準の拡張機能です-持っていない場合は、一時ファイルを使用してください。
\r交換での使用は移植できません。少なくとも、Mac OSXでは動作しません。
                    u2d、ux2dos、todosだけでなく周りのコマンド。
                    Unixマシン(OS X、Linux)で変換を行う場合は、viまたはでファイルを開きますvim:
$ vim my-file
Escキーを押して、挿入モードになっていないことを確認してから、入力します
:set ff=dos
または
:set fileformat=dos
これは、ファイル形式を設定することにより、適切な変換を行います。
ファイルを書き、エディターを終了するには
:wq
コマンドラインで次のことができます
$ vi +':w ++ff=dos' +':q' my-file
POSIXでこれを行うのは難しいです。
POSIX Sedは\rまたはをサポートしていません\15。たとえそれができたとしても、インプレースオプション-iはPOSIXではありません
POSIX awkにはサポートしています\rと\15、しかし、-i inplaceオプションではありませんPOSIX
d2uとdos2unixはPOSIXユーティリティではありませんが、exは
POSIX exはサポートしていない\r、\15、\nまたは\12
キャリッジリターンを削除するには:
awk 'BEGIN{RS="\1";ORS="";getline;gsub("\r","");print>ARGV[1]}' file改行を追加するには:
awk 'BEGIN{RS="\1";ORS="";getline;gsub("\n","\r&");print>ARGV[1]}' fileawkで試すことができます
awk '{print $0 "\r"}'
または
awk -v r=$'\r' '{print $0 r}'
$'\r'以下のようないくつかのシェルでサポートされているとして引用ANSI-Cスタイルの一例であるksh93、bash、zsh、mkshとFreeBSD sh とシングルUnixの仕様の問題8に含まれる可能性が高いです。
奇妙なキャラクターを表現する一般的な方法を提供します。例えば、これを試してください:
awk -v r=$'\U0001F608' '{print $0 r}'
CR前に aを挿入しないことに注意してください。1つ(そして1つだけ)のCRがまだ先行していないLFの前にのみです。