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'

따라서 처음 두 개 /는 에 속합니다 /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.

관련 정보