2016-03-25 5 views
0

Linuxシェルを使用してファイルにコンテンツを追加すると、パイプライン操作とストリーム操作を使用すると非常に便利です。各ファイルに1行を挿入するにはどうすればよいですか?

ただし、PowerShellでは、パイプラインはファイルレベルではなくオブジェクトレベルで使用されます。次に、どうやってファイルのリストに行「helloworld」を挿入して、最初の行にすることができますか?

答えて

2

それはそれ容易ではありませんが、あなたはこれを行うことができます。

Get-ChildItem | foreach {$a = Get-Content $_ 
        Set-Content $_ -Value "hi", $a} 

カントーは、私はそれがパイプラインのあなたの定義に合致すると思います正直に言うと。

+1

'Get-ChildItem | ForEach-Object {$( 'hi'; Get-Content $ _)|セット内容$ _} '、またはそれより短い' ls | %{$( 'hi'; gc $ _)| sc $ _} 'と入力します。これは、Linuxシェルとほぼ同じです。 –

+0

一時変数よりも優れています。 – Olegp

+0

明示的な変数を必要としないにもかかわらず、ディスク全体に書き戻す前にファイル全体をメモリに読み込んでいることに注意してください。 –

関連する問題