2

レポートのさまざまな行でキャリッジ リターンを選択しようとしています。最終的には、改行を削除したいと思います。"`n", "`r", "\n",を使用すると"\r"、結果は何も得られません。Vi でレポートにアクセスすると、キャリッジ リターン ( ^L) が表示されます。ですから、この時点で何をすべきかわかりませんが、髪を引っ張ります.

ls C:\DOWNLOAD\STANDARD\AUDIT*PRM3711* | %{ gc $_ | Select-String -Pattern '\** WARNING \** -  ' }

結果

** WARNING ** -  SAMPLE REPORT
** WARNING ** -  SAMPLE REPORT
** WARNING ** -  SAMPLE REPORT
** WARNING ** -  SAMPLE REPORT
4

3 に答える 3

1

gcファイルの内容を、改行文字を含まない行の配列として返します。

行間で一致させる必要がある場合は、この回答からのアプローチをお勧めします。

$content = [IO.File]::ReadAllText( $_.FullName )
if( $content -match "(?s)..." ) {
  # use values in $matches
}

一致から改行文字を削除するには、$matches[0] -replace [Environment]::NewLineまたはを試してください$matches[0] -replace "`r*`n*"

于 2012-12-06T14:30:54.273 に答える
0

PowerShell では、キャリッジ リターン + ライン フィードは`n

これを使用できると思います:

[string]::Join("",(gc 'C:\temp\test.txt'))
于 2012-11-30T19:59:46.707 に答える