헤드리스 vi 스타일 편집기를 통한 파이프라인

헤드리스 vi 스타일 편집기를 통한 파이프라인

나는 vi확신한다. 저는 명령줄에서 작업할 때 이것을 사용하고 싶습니다.

프로세스의 표준 출력을 vi의 헤드리스 버전과 같은 것으로 파이프한 다음 이를 표준 출력으로 파이프하는 쉬운 방법이 있습니까?

이 같은:

$ uname -a | <headless_vi> "3f D"
Linux robbie 4.8.13-1-ARCH

답변1

sed@JdeBP가 지적했듯이 스트림 편집기를 사용하거나 다음을 사용하는 것이 더 좋습니다 cut.

$ uname -a | cut -d ' ' -f 1-3
OpenBSD box 6.0

또는 클립을 완전히 삭제한 경우,

$ uname -snr
OpenBSD box 6.0

문제 vi는 스트림 편집 모드가 없다는 것입니다. 라인 편집기ex 하다"배치 모드"가 있지만 거의 사용되지 않으며 다른 줄 편집기와 마찬가지로 한 줄에서 "커서를 앞뒤로 이동할" 수 없습니다.

seded스트림에 편집 스크립트를 적용하기 위해 특별히 설계된 라인 편집기의 스트림 편집기 버전입니다 . 이 vi편집기는 라인 편집기의 화면 편집기 버전 ex이며 ex편집기는 입니다 ed.

명령 vi시퀀스는 줄의 세 번째(공백)로 이동하고 3f␣다음 명령은 줄의 나머지 부분을 삭제합니다. 화면 편집 기능이 있으면 편리합니다.D

ed, sed및 에서는 ex행을 추가하거나 삭제하거나 행을 변경할 수 있습니다. 여기서 "행"은 "한 번에 전체 행"을 의미합니다. edor 에서 동일한 작업을 수행 하려면 ex버퍼의 올바른 줄에 있다고 가정하고... 음, 정규식 패턴과 대체 문자열을 만들고 s이를 편집 명령과 함께 사용하여 Line을 변경해야 한다고 말할 수 있습니다. 이 경우에는 사소한 일이 아닙니다.

의 경우 sed다음과 같은 형식을 취합니다.

$ uname -a | sed 's/PATTERN/REPLACEMENT/'

관련 정보