sed: "/" とはどういう意味ですか?

sed: "/" とはどういう意味ですか?
x=`src/lstat64 $TEST_DIR/$tmp.1 | sed -n -e '/ Links: /s/.*Links: *//p'`

このスクリプトでは。この部分は理解できますが、"/s/.*Links: *//p'" 理解できないのは'/ Links: ' どういう"/ "意味ですか?

答え1

/ Links: /アドレスフィルタです。その意味は:「フィルタに一致する行にのみ、次の操作を適用します。」この場合、フィルタは正規表現でも、行番号、行範囲、開始および停止正規表現の組み合わせでもかまいません。「n行ごとに」実現のためのいくつかの条件sed

答え2

あなたは誤解があります。あなたのコマンドは次のように解釈することができます。

sed - n -e '/pattern/ s/pattern/replace pattern/p'

したがって、最初の2つ/はに属します/pattern/。これは正規表現の一致を意味します。

/regexp/
          Match lines matching the regular expression regexp.

答え3

私が理解していない唯一のものは "/link:"です。

あなたのsed表情フィルターパターンLinks:(先行スペースと末尾のスペースを含む)と一致し、置換を実行する行

s/.*Links: *//

また、-nパターン空間の自動印刷を抑制し、p現在のパターン空間を印刷します。

要約すると、パイプは入力からsed一致する行だけを印刷します。Links:後ろに交換を行いますs/.*Links: *//

引用元man sed:

   -n, --quiet, --silent

          suppress automatic printing of pattern space


   p      Print the current pattern space.

   /regexp/
          Match lines matching the regular expression regexp.


   s/regexp/replacement/
          Attempt to match regexp against the pattern space.  If
          successful, replace that portion matched with replacement. The
          replacement may contain the special character & to refer to that
          portion of the pattern space which matched, and the special
          escapes \1 through \9 to refer to the corresponding matching
          sub-expressions in the regexp.

関連情報