私は現在grepを使ってログ出力で文字列を探しています。新しいタスクでは、さまざまなファイルから複数の項目を見つける必要があります。特に、スイッチポートに接続されたMACアドレスエントリです。ネットワーク(5,000を超えるデバイス)を監査した後は、スイッチポート1から来ると報告された単一のMACを持つファイルを見つけることを心配しません。スイッチがスイッチポート1で2つ以上のMACを学習するには、これらのファイルを見つけてその情報を出力する必要があります。
理想的には、1行で48個のポートをすべて検索できる場合は、作業が簡単になります。このリストを48回も渡さなければならないからといって、世界が終わるわけではありません。
よろしくお願いします。申し訳ありません。これはプラットフォームに関する最初の質問です。
これまでに私がしたことの例:
grep "ge-0/0/2.0" example1.log
INTERNET de:ad:be:ef:00:01 Learn 2:21 ge-0/0/2.0
INTERNET de:ad:be:ef:00:02 Learn 0 ge-0/0/2.0
DATA de:ad:be:ef:01:01 Learn 4:20 ge-0/0/2.0
grep "ge-0/0/20.0" example1.log
POS de:ad:be:ef:02:01 Learn 0 ge-0/0/20.0
grep "ge-0/0/2*.0" example1.log
INTERNET de:ad:be:ef:00:01 Learn 2:21 ge-0/0/2.0
INTERNET de:ad:be:ef:00:02 Learn 0 ge-0/0/2.0
DATA de:ad:be:ef:01:02 Learn 0 ge-0/0/30.0
DATA de:ad:be:ef:01:01 Learn 4:20 ge-0/0/2.0
POS de:ad:be:ef:02:02 Learn 0 ge-0/0/10.0
POS de:ad:be:ef:02:01 Learn 0 ge-0/0/20.0
しかし、生の情報を得ることは退屈でエラーが発生しやすい。私のすべてのスイッチは、出力を表示する前に簡単に作成できるように、同じ2文字で始まります。上記のge-0/0/20.0のような1行のエントリは簡単に混在します。
上記の例で私が探しているものはまさに次のとおりです。
INTERNET de:ad:be:ef:00:01 Learn 2:21 ge-0/0/2.0
INTERNET de:ad:be:ef:00:02 Learn 0 ge-0/0/2.0
DATA de:ad:be:ef:01:01 Learn 4:20 ge-0/0/2.0
答え1
私はあなたがマルチモードgrepを探していると思います。
grep 'pattern1\|pattern2' logfile
または
grep -E 'pattern1|pattern2' logfile
パターンの数は必要なだけ長くすることができます。pattern1
ORに一致する行を印刷しますpattern2
。