2017-11-05 1 views
0

나는 UNIX에 익숙하지 않다 .. 할 수있다. 제거 을 시작 # [hH]*# h* 또는 현재 스크립트 파일에 # H*, 로 시작하는 라인을 추출에 전달 : 사람이 나에게 그것은으로 요약 될 수있는 코드의이 행 ...

cat $0|sed -n '/^# [hH]\*/p'|sed 's/^# [hH]\*//g'|pg 
+3

: https://explainshell.com – Cyrus

답변

1

설명 pg 프로그램

설명 :

  • $0가 실행되는 파일의 이름입니다. 스크립트를 ./path/to/script.sh으로 실행하면 해당 경로가됩니다.
  • sed 인쇄 만이 라인 [hH]h 또는 H# [hH]\* 수단, 시작 및 \* 리터럴 * 문자를 의미한다. ^은 "줄의 시작"을 의미합니다.
  • 두 번째 sed은 시작 부분 # [hH]\*을 아무 것도 대체하지 않고 효과적으로 패턴을 제거합니다. 일치하는 수만큼 교체를 수행하는 데는 g 플래그가 있지만 여기에는 아무런 의미가 없습니다. ^은 일치 할 것임을 보장하므로 여기서는 무의미합니다. 내가 pg가 무엇을 모르는
  • ...

그것은 효과적으로 간단 (안전한) 파이프 라인과 동일합니다 :이 도움이 될

sed -n 's/^# [hH]\*//p' "$0" | pg 
관련 문제