[解決済み] PowerShellでファイルを一行ずつ読み込む
2022-05-14 17:14:17
質問
PowerShellでファイルを一行ずつ読み込みたい。具体的には、ファイルをループして、ループ内で各行を変数に格納し、その行に対して何らかの処理を行いたいと考えています。
Bashと同等のものを知っています。
while read line do
if [[ $line =~ $regex ]]; then
# work here
fi
done < file.txt
PowerShellのループに関するドキュメントがあまりない。
どのように解決するのですか?
<ブロッククオートPowerShellのループに関するドキュメントがあまりない。
PowerShellのループに関するドキュメントは豊富で、以下のヘルプトピックをチェックするとよいでしょう。
about_For
,
about_ForEach
,
about_Do
,
about_While
.
foreach($line in Get-Content .\file.txt) {
if($line -match $regex){
# Work here
}
}
この問題に対する別のイディオム的なPowerShellの解決策は、テキストファイルの行をパイプで
ForEach-Object
コマンドレット
:
Get-Content .\file.txt | ForEach-Object {
if($_ -match $regex){
# Work here
}
}
ループ内で正規表現マッチングを行う代わりに、その行を
Where-Object
を使えば、興味のあるものだけをフィルタリングすることができます。
Get-Content .\file.txt | Where-Object {$_ -match $regex} | ForEach-Object {
# Work here
}
関連
-
PowerShell文字列オブジェクトのメソッド概要
-
[解決済み] PowerShell で grep -f と同等の機能
-
[解決済み] インストールされたPowerShellのバージョンを確認する
-
[解決済み] PowerShellで「このシステムではスクリプトの実行が無効になっています」と言われる。
-
[解決済み] PowerShellでコードをコメントアウトする方法とは?
-
[解決済み] Windows PowerShellの環境変数を設定する
-
[解決済み] PowerShellで文字列と変数を連結する方法は?
-
[解決済み] PowerShellでコマンドライン引数を処理する方法
-
[解決済み】PowerShellスクリプトを実行する方法
-
[解決済み] PowerShellです。テキストファイルの内容を丸ごと変数に格納する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
win10のスタートメニューと通知センターが開けないのをpowershellで解決する。
-
PowerShellを使用してレジストリを変更する
-
CMDとWin powershellの違い
-
PowerShellで管理者権限でアプリケーションを起動する方法
-
PowerShell DSC コンポーネント xExchange をリリースしました。
-
PowerShell ISEコードにおける大文字・小文字変換のコツ
-
バッチ処理ではなくPowerShellを使おう!
-
PowerShell ローカルアカウントスクリプト共有の追加
-
PowershellでWebサイトのレスポンスを確認し、実行時間を計算する例
-
[解決済み】Windowsのバッチファイルを使用して、テキストファイルの各行をループする方法は?