3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【PowerShell】Linuxのgrepのように行を検索する方法(Windows)

Posted at

はじめに

WindowsのPowerShellでLinuxのようにgrepする方法について書きます。

そもそもgrepとは?

簡単に言うと、Linuxのファイルの行を検索するコマンドになります。
詳しくは下記ページをご覧下さい。

grepコマンドの詳細まとめました【Linuxコマンド集】

使用例
[root@tspweb01 network-scripts]# grep IPADDR ifcfg-enp0s8
IPADDR=192.168.56.30
[root@tspweb01 network-scripts]# 

※コマンド実行前の状態

コマンド実行前
[root@tspweb01 network-scripts]# cat ifcfg-enp0s8
TYPE="Ethernet"
BOOTPROTO="none"
IPV6INIT="no"
NAME="enp0s8"
UUID="81d71b89-d1b6-4ca9-853d-c5bf74c8487e"
DEVICE="enp0s8"
ONBOOT="yes"
IPADDR=192.168.56.30
PREFIX=24
[root@tspweb01 network-scripts]# 

PowerShellのgrep方法

実行コマンド

コマンド
 <コマンド> | Out-String -Stream | Select-String <検索したい文字列> 

使用例①

Get-NetFirewallProfileの実行結果から「Domain」の行を抽出

文字列抽出前
 PS C:\Users\Administrator> Get-NetFirewallProfile 

Name                            : Domain
Enabled                         : False
DefaultInboundAction            : NotConfigured
DefaultOutboundAction           : NotConfigured
AllowInboundRules               : NotConfigured
AllowLocalFirewallRules         : NotConfigured
AllowLocalIPsecRules            : NotConfigured
AllowUserApps                   : NotConfigured
AllowUserPorts                  : NotConfigured
AllowUnicastResponseToMulticast : NotConfigured
NotifyOnListen                  : False
EnableStealthModeForIPsec       : NotConfigured
LogFileName                     : %systemroot%\system32\LogFiles\Firewall\pfirewall.log
LogMaxSizeKilobytes             : 4096
LogAllowed                      : False
LogBlocked                      : False
LogIgnored                      : NotConfigured
DisabledInterfaceAliases        : {NotConfigured}

〜〜〜省略〜〜〜

PS C:\Users\Administrator>  

文字列抽出結果

文字列抽出前
PS C:\Users\Administrator> Get-NetFirewallProfile | Out-String -Stream | Select-String Domain

Name                            : Domain

PS C:\Users\Administrator>  

使用例②

test.txtの中から「test」の行を抽出

文字列抽出前
 PS C:\Users\Administrator\Desktop> cat .\test.txt
aaaa

aaaa
test


vagfafa

fafeaea

iiaaaa

faejfajefa

文字列抽出結果

文字列抽出結果
PS C:\Users\Administrator\Desktop> cat .\test.txt | Out-String -Stream | Select-String "test"

test

PS C:\Users\Administrator\Desktop>  

まとめ

下記コマンドで行を検索できる。

コマンド
 <コマンド> | Out-String -Stream | Select-String <検索したい文字列> 
3
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?