ファイルに出力するCygwinスクリプトがあります。私の唯一の問題は、\ r \ n "cr-lf"の代わりに常に\ n "lf"行末を使用することです。私はそれらを置き換えるか、またはCygwinに行末の出力を常に出力させたい。テキストファイルCygwinでlfをcr-lfに置き換えます。
スクリプト内で次の2つのコマンドを使用してみました。
unix2dos d:/temp.txt
sed -i -e 's/\n/\r\n/g' d:/temp.txt
ファイルに出力するCygwinスクリプトがあります。私の唯一の問題は、\ r \ n "cr-lf"の代わりに常に\ n "lf"行末を使用することです。私はそれらを置き換えるか、またはCygwinに行末の出力を常に出力させたい。テキストファイルCygwinでlfをcr-lfに置き換えます。
スクリプト内で次の2つのコマンドを使用してみました。
unix2dos d:/temp.txt
sed -i -e 's/\n/\r\n/g' d:/temp.txt
unix2dos
へのパスは、WindowsとLinuxのファイルエンディングの奇妙な組み合わせを使用して指定しています。あなたはCygwinの中からそれを呼び出している場合
unix2dos d:\temp.txt
、またはCygwinのシェルスクリプトまたは類似のは、この使用します:あなたは、Windowsのコマンドシェルからそれを呼び出している場合
、これを使用
をunix2dos /cygdrive/d/temp.txt
unix2dos
コールが機能するはずです。何らかのエラーが発生していますか?
Cygwinインストーラには、新しいインストール時にのみ表示されるかもしれませんが、デフォルトの行終了規則(DOSまたはUnix)を選択するオプションがあります。
いいえ、エラーはありません。私は最後のコマンドの前にunix2dosコールを置くことさえでき、最後のコマンドはまだ動作します。 – Ian
だからあなたは何もしないようだと言っているのですか?手動で実行するとどうなりますか? 'dos2unix:ファイルd:/temp.txtをUnix形式に変換しています... 'のようなメッセージが表示されます。 – jjlin
unix2dosコマンドを手動で実行すると正常に動作します。 – Ian