5

I need to convert a file from DOS to Unix in PowerShell.

I know this can be very much easily done in Unix:

dos2unix file newfile
4

2 に答える 2

8

それは次のように簡単かもしれません

Get-Content in.csv -raw | % {$_ -replace "`r", ""} | Set-Content -NoNewline out.csv

上記の方法は、powershell バージョン 3 以降で機能します。それ以下の場合は、代わりに以下の方法を使用できます。ここでの他の回答の1つとほぼ同じです。

$csvdata = [io.file]::ReadAllText('in.csv') | % {$_ -replace "`r",""}
[io.file]::WriteAllLines('out.csv', $csvdata)
于 2015-08-18T05:57:44.797 に答える
3

これを試して:

$txt = (Get-Content -Raw myFile.txt) -replace "`r`n","`n"
[io.file]::WriteAllText('c:\path\to\myFile.unix.txt', $txt)

ファイルの末尾に改行と改行を追加するためではWriteAllTextなく使用しましたが、それを抑制する方法はないようです。Set-ContentSet-Content

-Rawパラメータ toは PowerShell 3 のものである可能性があると思うGet-Contentので、以前のバージョンを使用している場合は、次のようにする必要があるかもしれません。

$txt = [io.file]::ReadAllText('c:\path\to\myFile.txt') -replace "`r`n","`n"
[io.file]::WriteAllText('c:\path\to\myFile.unix.txt', $txt)
于 2015-08-18T05:48:34.300 に答える