![Powershell で列が CSV と部分一致または完全一致した場合に行を返す](https://rvso.com/image/1615242/Powershell%20%E3%81%A7%E5%88%97%E3%81%8C%20CSV%20%E3%81%A8%E9%83%A8%E5%88%86%E4%B8%80%E8%87%B4%E3%81%BE%E3%81%9F%E3%81%AF%E5%AE%8C%E5%85%A8%E4%B8%80%E8%87%B4%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AB%E8%A1%8C%E3%82%92%E8%BF%94%E3%81%99.png)
基本的には、文字列を検索し、完全一致または部分一致を CSV 形式で返します。
$Shoes
次のようなオブジェクトがあるとします。
"Brand","Style","Color","Price"
"Reebok","Basketball","Red/Black","$50"
"Vans","Slip-On","White/Black","$60"
"Vans","Old Skool","Red/White","$60"
"Nike","Sneakers","Red","$50"
"Adidas","Sneakers","Blue","$55"
読みやすくするために、表としてフォーマットすると次のようになります。
Brand Style Color Price
----- ----- ----- -----
Reebok Basketball Red/Black $50
Vans Slip-On White/Black $60
Vans Old Skool Red/White $60
Nike Sneakers Red $50
Adidas Sneakers Blue $55
入力すると$Shoes -like '*Red*'
次の結果が返されます:
@{Brand=Reebok; Style=Basketball; Color=Red/Black; Price=$50}
@{Brand=Vans; Style=Old Skool; Color=Red/White; Price=$60}
@{Brand=Nike; Style=Sneakers; Color=Red; Price=$50}
しかし、私が求めている出力は次のとおりです。
Brand Style Color Price
----- ----- ----- -----
Reebok Basketball Red/Black $50
Vans Old Skool Red/White $60
Nike Sneakers Red $50
ここで何が間違っているのでしょうか?
答え1
試したときに -match のフォーマットを間違っていたようですが、簡単な解決策であることがわかりました...
それは単純に$Shoes -match 'Red'