답변:
영어로이 sed
프로그램의 의미는 다음과 같습니다.
123!
] 현재 줄 번호가 123이 아닌 경우 [ d
]는 현재 줄을 삭제하고 다음 사이클을 시작합니다 (즉, 다음 줄로 이동).d
명령이 실행되지 않은 경우에만이 지점에 도달합니다. ) [ q
]는 더 이상 줄을 처리하지 않고 종료합니다 (그러나 죽어가는 선에 현재 줄을 인쇄합니다).또는 원하는 경우 쉘 구문에서 :
line_number=0
while IFS= read -r pattern_space; do
line_number=$(($line_number+1))
if [ $line_number -ne 123 ]; then # 123!
continue # d
fi
echo "$pattern_space"; break # q
echo "$pattern_space" # implicit final print (never reached)
done
{d;q;}
해서는 안됩니다 q
(첫 번째 줄만 적용)?
q
는 실행되는 모든 라인에 적용됩니다. 그러나 행 번호가 123이 아닌 경우 d
명령이 실행되며 그 의미는 즉시 다음 입력 행으로 건너 뛰는 것입니다.
sed -n 123p
것을 제외하고는 동일한 출력을 인쇄합니다 .
!
연결되어 이해했다는 것 입니다.d
123