[解決済み] PowerShellでファイルを一行ずつ読み込む
2022-03-02 21:04:19
質問
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
}
関連
-
[解決済み] Add-ADGroupMember が ID を持つオブジェクトを見つけられません。
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】'<'演算子は将来の使用のために予約されている
-
[解決済み] ConvertTo-Csv 引用符なしの出力
-
[解決済み] PowerShellでSharePoint 2013の連絡先リストに項目を作成する方法は?
-
[解決済み] "get-wmiobject win32_process -computername" でエラー "Access denied , code 0x80070005" が発生する。
-
[解決済み] PowerShellでデータをCSVにエクスポートする方法は?
-
[解決済み] Powershell send-mailmessage - 複数の受信者にメールを送信する
-
[解決済み] PowerShellでCMDコマンドを実行する
-
[解決済み] グローバル変数名が関数に渡された変数である関数からPowerShellのグローバル変数を設定する
-
[解決済み] PowerShellを使用してFTPでファイルをアップロードする
-
[解決済み】Windowsのバッチファイルを使用して、テキストファイルの各行をループする方法は?