단일 명령으로 ed의 특정 줄 번호 제거

단일 명령으로 ed의 특정 줄 번호 제거

에 표시된 대로 ed줄 번호의 주소와 명령을 차례로 입력하면 줄 번호를 제거 할 수 있습니다 . 행 범위를 삭제하려면 과 같은 쉼표를 사용할 수 있습니다 . 에서와 같이 특정 내용이 포함된 행을 삭제할 수도 있습니다 . 연속되지 않은 행을 삭제하도록 지정하는 방법이 있습니까?delete1d1,4dg/Ted/d단일 명령으로? 즉, 다음을 입력하지 않고 행 1, 3, 8을 한 번에 삭제한다고 가정해 보겠습니다.

1d
3d
8d

답변1

아니요 ed(1960년대 편집자), 아니요. 그러나 ex(70년대 이상) 또는 오히려 (90년대) vim구현으로 이동할 준비가 된 경우 다음을 수행할 수 있습니다.ex

g/\v%1l|%3l|%8l/d

어디\%nl( with 로 단순화됨)은 현재 줄의 위치와 일치하는 정규식 연산자입니다.%nl\vN .

1d, , 을 순차적으로 실행하는 방법을 사용하면 3d원래 세 번째 행이 이제 두 번째 행이 되므로 결국 1 , 4 10 을 삭제하게 됩니다 . 끝부터 시작하면 이런 문제가 발생하지 않습니다: , , .8d1d8d3d1d

관련 정보