Visual Studio Codeで統合検索機能を使用しています。検索条件には正規表現の検索方法があります。
最初のフィールドが同じMACアドレス(xx:xx:xx:xx:xx)を持つ行と同じ「Mamba」という単語を含む行に対してCSV(Visual Studio Code IDEを使用)を検索しようとしています。 :xx)行に「Mamba」が含まれている場合?
正規表現を使用して解析する必要があるCSVがあります。
Mamba,1C:28:AF:8E:73:24,-69,6,11:21:27
Mamba,1C:28:AF:8E:73:24,-68,6,11:21:29
Mamba,1C:28:AF:8E:75:20,-69,6,11:21:27
Mamba,1C:28:AF:8E:75:20,-68,6,11:21:29
,1C:28:AF:8E:73:31,-73,52,11:21:12
,1C:28:AF:8E:75:32,-75,52,11:21:14
,1C:28:AF:8E:73:24,-77,52,11:21:17
,1C:28:AF:8E:73:24,-73,52,11:21:12
,1C:28:AF:8E:75:32,-75,52,11:21:14
,1C:28:AF:8E:75:20,-77,52,11:21:17
eduroam,8C:7A:15:55:58:18,-88,6,11:21:12
eduroam,8C:7A:15:55:58:18,-88,6,11:21:14
eduroam,8C:7A:15:55:58:18,-88,6,11:21:17
正規表現を適用したら、次の結果を選択する必要があります。
Mamba,1C:28:AF:8E:73:24,-69,6,11:21:27
Mamba,1C:28:AF:8E:73:24,-68,6,11:21:29
Mamba,1C:28:AF:8E:75:20,-69,6,11:21:27
Mamba,1C:28:AF:8E:75:20,-68,6,11:21:29
,1C:28:AF:8E:73:24,-77,52,11:21:17
,1C:28:AF:8E:73:24,-73,52,11:21:12
,1C:28:AF:8E:75:20,-77,52,11:21:17
注:検索文字列/パターン「Mamba」を含む行は、同じMACアドレスを持つ他の行の前にはありません。
ベストアンサー1
私の理解は
- すべての試合マンバ、マイクを覚えて
- Macに従ってください
私はこれを持ってきました awk
awk -F, '$1=="Mamba" { m[$2]=NR ; } $2 in m { print ;}'
どこ
-F,
,
区切り文字として使用$1=="Mamba" { m[$2]=NR ; }
m
配列にMambaのMacを覚えてください$2 in m { print ;}
一致すれば印刷
より短い形式で提案されているように
awk -F, '$1=="Mamba"{ m[$2] } $2 in m'
- 設定は不要
m[$2]
- 暗黙の
{print}
条件$2 in m
Mambaと一致する前にmacが表示された場合、一致するものはありません。
データ
,1C:28:AF:8E:73:24,-77,52,11:21:17
Mamba,1C:28:AF:8E:73:24,-69,6,11:21:27
最初の行はキャプチャされません。