2

Windows で Powershell を使用して、Unix で生成されたファイルの「£」を「$」に​​置き換えています。問題は、出力ファイルの各行の末尾に、元々あった LF ではなく CRLF があることです。Notepad++ で元のファイルを見ると、ステータス バーに Unix ANSI であることが示されます。この形式を維持し、各行の末尾に LF を付けたいと考えています。すべてのエンコーディング オプションを試しましたが成功しませんでした。Out-File の代わりに Set-Content も試しました。私のコードは次のとおりです。

$old = '£'
$new = '$'
$encoding = 'UTF8'
(Get-Content $fileInfo.FullName) | % {$_ -replace $old, $new} | Out-File -filepath $fileInfo.FullName -Encoding $encoding

助けてくれてありがとう ジェイミー

4

2 に答える 2

5

@Keith Hill がこのコマンドレットを作成しました。Powershell Community ExtensionConvertTo-UnixLineEndingで見つけることができます。

于 2013-01-09T10:43:42.410 に答える