我有一個將東西輸出到文件的Cygwin腳本。我唯一的問題是它總是使用\ n「lf」行尾而不是\ r \ n「cr-lf」。我想要替換它們,或者只是讓cygwin總是輸出\ r \ n來換行結尾。用文本文件中的cr-lf替換lf Cygwin
我試過以下兩個命令,無法在腳本中使用。
unix2dos d:/temp.txt
sed -i -e 's/\n/\r\n/g' d:/temp.txt
我有一個將東西輸出到文件的Cygwin腳本。我唯一的問題是它總是使用\ n「lf」行尾而不是\ r \ n「cr-lf」。我想要替換它們,或者只是讓cygwin總是輸出\ r \ n來換行結尾。用文本文件中的cr-lf替換lf Cygwin
我試過以下兩個命令,無法在腳本中使用。
unix2dos d:/temp.txt
sed -i -e 's/\n/\r\n/g' d:/temp.txt
您正在使用Windows和Linux文件結尾的奇怪組合指定unix2dos
的路徑。
如果你從Windows命令外殼調用它,使用:
unix2dos d:\temp.txt
如果您是從在Cygwin調用它,或Cygwin的shell腳本或類似的,使用此:
unix2dos /cygdrive/d/temp.txt
您的unix2dos
呼叫應該工作。你是否得到某種錯誤?
Cygwin安裝程序有一個選擇默認行結束約定(DOS或Unix)的選項,儘管它可能只在新安裝過程中顯示 - 我不記得手動。
不,沒有錯誤。我甚至可以在最後一個命令之前放置unix2dos調用,並且最後一個命令仍然有效。 – Ian 2012-02-13 23:53:08
所以你說這似乎什麼都不做?如果你手動運行它會怎麼樣?你應該看到類似'dos2unix的消息:將文件d:/temp.txt轉換爲Unix格式......「 - 是嗎? – jjlin 2012-02-13 23:56:31
如果我手動運行unix2dos命令,它確實有效。 – Ian 2012-02-14 00:00:30