tr
이 명령을 사용하여 한 줄이나 일련의 줄의 대소문자를 변경할 수 있습니까 ed
? 아니면 다른 방법이 있나요?
답변1
일부 외부 유틸리티를 통해 일련의 행을 필터링하는 것은 쉽지 않습니다 ed
. 이 작업은 최소한 세 개의 명령 집합으로 수행하고 임시 파일을 사용해야 합니다.
utility
외부 필터가 호출 되고 해당 필터를 통해 20~30개의 행을 필터링한다고 가정 해 보겠습니다 .
필터링하려는 행은 주소 지정에 사용됩니다 20,30
. 먼저 필터에 다음 줄을 작성하고 출력을 tmp
(모든 이름)이라는 파일에 저장합니다.
20,30 w !utility >tmp
그런 다음 버퍼의 줄을 결과 출력 파일의 줄로 바꿀 수 있습니다.
20,30 d
20- r tmp
이 명령은 먼저 필터링된 행을 삭제 utility
한 다음 행 20 뒤에 결과 데이터를 삽입합니다( 20-
와 동일하며 19
이 r
명령은 지정된 파일에서 텍스트를 삽입합니다).뒤쪽에처리되는 행).
ed
이것을 결합 rlwrap
하고 더 쉽게 실행할 수 있는 일종의 Readline 매크로를 만들어 내면 더 깔끔하게 만들 수 있지만 나는 그것에 대해 조사할 사람이 아닙니다. ex
외부 필터를 사용해야 하는 텍스트 편집을 수행하고 이를 위해 줄 편집기를 사용하려는 경우 편집기를 비슷한 것으로 변경하는 것이 더 현실적인 접근 방식일 수 있습니다.