回答編集履歴
2
コメント欄での質問に対応して追記
test
CHANGED
@@ -25,3 +25,51 @@
|
|
25
25
|
PS>
|
26
26
|
|
27
27
|
```
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
---
|
32
|
+
|
33
|
+
**本回答コメント欄でいただいた[2021/09/16 13:19]の質問コメントに対応:**
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
> 実際のlogでは
|
38
|
+
|
39
|
+
> DEBUG ** <<1>> ** ch_upd_user_nm=company_A ~, ~,~,
|
40
|
+
|
41
|
+
> というように続いており
|
42
|
+
|
43
|
+
> 一つ目のカンマの前「ch_upd_user_nm=company_A ~」までを表示できるとベターなのですが、この場合正規表現どうなりますか。。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
であれば、「','ではない文字が0個以上」、と言ったところでしょうか。`-Pattern`オプションへの指定値としては`"ch_upd_user_nm=.*company[^,]*"`です。
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
```PowerShell
|
52
|
+
|
53
|
+
PS> Get-Content test.log
|
54
|
+
|
55
|
+
DEBUG ** <<1>> ** ch_upd_user_nm=company_A,item2,item3
|
56
|
+
|
57
|
+
DEBUG ** <<1>> ** ch_upd_user_nm=company_B,item2
|
58
|
+
|
59
|
+
DEBUG ** <<1>> ** ch_upd_user_nm=company_HOGE
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
PS> Select-String -Path .\test.log -Pattern "ch_upd_user_nm=.*company[^,]*" | ForEach-Object {$_.Matches} | ForEach-Object {$_.Value}
|
64
|
+
|
65
|
+
ch_upd_user_nm=company_A
|
66
|
+
|
67
|
+
ch_upd_user_nm=company_B
|
68
|
+
|
69
|
+
ch_upd_user_nm=company_HOGE
|
70
|
+
|
71
|
+
PS>
|
72
|
+
|
73
|
+
```
|
74
|
+
|
75
|
+
※本当に適切な正規表現はご自身で調べ、考えてみてください。本回答は「パターンにマッチした部分のみを出力させる」ことが主旨のものです。
|
1
誤記修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
何となく指定のパターン`"ch_upd_user_nm=*company*"`もやりたいことを反映してないような気がしますが、どうでしょう。少しだけ修正し、「"company"の前後
|
1
|
+
何となく指定のパターン`"ch_upd_user_nm=*company*"`もやりたいことを反映してないような気がしますが、どうでしょう。少しだけ修正し、「"company"の前後は0個以上の文字」をパターンとして、パターンにマッチした値(Value)を出力する例です。
|
2
2
|
|
3
3
|
|
4
4
|
|