3 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
使用moreWindows NT和更高版本中包含的命令,實(shí)際上可以非常輕松地完成此操作。轉(zhuǎn)換input_filename包含UNIX EOL(行尾)\n到output_filename其中包含的Windows EOL \r\n,只是這樣做:
TYPE input_filename | MORE /P > output_filename
該more命令具有您可能不知道的其他格式設(shè)置選項(xiàng)。奔跑more/?學(xué)習(xí)其他more可以做什么。

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以在沒有VBScript中的其他工具的情況下執(zhí)行此操作:
Do Until WScript.StdIn.AtEndOfStream
WScript.StdOut.WriteLine WScript.StdIn.ReadLine
Loop
將以上各行放入文件中unix2dos.vbs,然后像這樣運(yùn)行:
cscript //NoLogo unix2dos.vbs <C:\path\to\input.txt >C:\path\to\output.txt
或像這樣:
type C:\path\to\input.txt | cscript //NoLogo unix2dos.vbs >C:\path\to\output.txt
您也可以在PowerShell中執(zhí)行此操作:
(Get-Content "C:\path\to\input.txt") -replace "`n", "`r`n" |
Set-Content "C:\path\to\output.txt"
可以進(jìn)一步簡化為:
(Get-Content "C:\path\to\input.txt") | Set-Content "C:\path\to\output.txt"
上面的語句無需顯式替換即可工作,因?yàn)镚et-Content在任何類型的換行符(CR,LF和CR-LF)中隱式地拆分了輸入文件,并Set-Content在將輸入數(shù)組寫入Windows之前將其與Windows換行符(CR-LF)連接在一起。

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
我當(dāng)時(shí)正在處理CRLF問題,所以我決定構(gòu)建一個(gè)非常簡單的轉(zhuǎn)換工具(在NodeJS中):
這是NodeJS EOL轉(zhuǎn)換器CLI
因此,如果您安裝了帶有npm的NodeJS,則可以嘗試:
npm i -g eol-converter-cli
eolConverter crlf "**/*.{txt,js,java,etc}"
可以使用Glob regex(與shell中相同的regex)動(dòng)態(tài)配置路徑。
因此,如果可以使用NodeJS,它非常簡單,可以集成此命令將整個(gè)工作區(qū)轉(zhuǎn)換為所需的行尾。
- 3 回答
- 0 關(guān)注
- 812 瀏覽
添加回答
舉報(bào)