Splunk の SPL を中途半端に学んでいたため、表題の通り、なぜSPLの先頭にパイプをつける場合とつけない場合があることが疑問でしたが、以下の2つの記事を見てようやくスッキリしました。
(「こおりねこ」さん、ありがとうございます!)
Splunk: Splunk入門(SPL編 1/6) - SPL文の基本(Qiita)
https://qiita.com/frozencatpisces/items/a395d8721977d14bd6a2
まず上記の記事には以下の通り記載があります。
早速、シンプルな SPL 文を実行してみましょう。
search index=”_internal”
「 search 」は SPL のコマンドの1つであり、条件を引数に指定してログを検索、出力するコマンドです。
普段よく目にするのは、いきなり index=”_internal” という形でかかれたSPLですが、実はその前に search コマンドがあり省略されているだけなんですね。
知りませんでした。。。
Splunk: サーチマクロって何だ?(Qiita)
https://qiita.com/frozencatpisces/items/8424d5af4204433948b1
そしてさらに上の記事を見ると、以下の記載があります。
search や inputlookup などの生成コマンド( generating commands )を定義に使用する場合は「定義の先頭にパイプ(|)を付けない」「マクロ使用箇所の直前にパイプを付ける」の2点を守る必要があります。
なるほど、search の場合は先頭にパイプを付けないという決まりがあるのですね。
コメントを残す