ed에 여러 줄 표시

ed에 여러 줄 표시

ed를 열고 다음 텍스트를 삽입했습니다.

This text
Is a
Test

그러나 다음을 사용하여 1-3행을 표시하려고 하면:

1,3ki

그리고 인쇄해 보세요

'ip

그것은 단지 인쇄마지막으로 본. 세 줄(예: )을 모두 표시할 수 있는 방법이 있나요 1,3? 고마워하는.

답변1

라벨은 한 줄만 표시할 수 있습니다. 명령에 일련의 행을 제공하면 명령이 단일 주소만 사용하므로 k입력한 마지막 주소만 표시됩니다 .k

이것은에서 온 것입니다ed명세서POSIX 표준에서(필자의 강조):

0 주소가 필요한 명령에 필요한 수보다 많은 주소가 제공되면 오류가 발생합니다. 그렇지 않고 필요한 것보다 더 많은 주소가 명령에 제공되면먼저 지정된 주소를 평가한 후 유효한 주소가 최대로 남을 때까지 폐기해야 합니다., 지정된 명령에 대해.

k명령은 표준의 명령과 유사합니다 (.)kx. 즉, 최대 하나의 주소(기본값은 현재 행)가 필요함을 의미합니다.

달성하려는 목적에 따라 라인 1과 라인 3에 하나씩 두 개의 레이블을 사용하거나 해당 레이블과 관련된 주소와 명령이 있는 단일 레이블을 사용할 수 있습니다 p.

따라서 두 개의 태그를 사용하거나

1ka
3kb
'a,'b p

또는 호출할 때 단일 레이블과 상대 주소 지정을 사용합니다 p.

1ka
'a,'a+2 p

또는

3kb
'b-2,'b p

아니면 그런 것

3kb
'b; -2,. p

또는

1ka
'a; .,+2 p

관련 정보