プログラミング
powershell7.4のオブジェクトのプロパティの使い方について質問です。 あるファイルから特定の行を全て削除しようとしております。 (特定の行には”通貨”という文字があります) aaa.csvを入力ファイルとしmeisai.csvに”通貨”が存在しない行を出力する として Get-ChildItem -Path .\aaa.csv | Select-String -Pattern "通貨" -NotMatch -Encoding oem | Set-Content .\meisai.csv -Encoding oem としました。するとcsv明細の頭にパスと出力対象行No.が付加されて出力されてしまいました。 C:\tmp\aaa.csv:7:2024/01/04,140,Rich,100,50 C:\tmp\aaa.csv:8:2024/01/04,140,Rich,110,60 C:\tmp\aaa.csv:9:2024/01/04,140,Rich,120,70 のような形です。 このパスと行No.をない形で出力したいです。 Select-Stringの出力であるMatchInfoオブジェクトにlineというプロパティがあり、そこに明細がセットされていると思うので、それを使うのだと思うのですが使い方がわかりません。 使い方を教えていただけるとありがたいです。 よろしくお願いいたします。 追伸: 以下の方法で実現はできておりますので回避方法を求めているわけではないです。 Get-Content -path .\aaa.csv -Encoding oem | Select-String -Pattern "通貨" -NotMatch -Encoding oem | Set-Content .\meisai.csv -Encoding oem プロパティの使い方ということがわからないという主旨です。 ただ、よりよい方法(foreachを使う方法があるのだと思っています。)があればあわせて教えていただけるとありがたいです。