나는 vi에서 할 수 있다고 확신하는 요구 사항이 있습니다 (다른 많은 솔루션이 확실합니다).
다음과 같은 파일이 있습니다.
1234 Some Text HERE 나머지 줄
1235 Some Other Text HERE 나머지 줄
내가하고 싶은 것은 텍스트를 지우고 행 끝에 HERE라는 단어를 포함하는 것입니다.
1234 일부 텍스트
1235 일부 기타 텍스트
vi에서 검색 및 대체 작업을 수행했지만 검색을 수행 한 다음 명령을 실행하는 방법을 모르겠습니다.
언제나처럼 어떤 도움이라도 대단히 감사합니다.
기대해 주셔서 감사합니다
항상 그렇듯이, vi
이 특정 고양이를 피부로 만드는 방법에는 여러 가지가 있습니다. 이미 언급했듯이이 문제에 대한 간단한 해결책은 다음과 같습니다.
:%s/HERE.*//
그러나보다 일반적인 질문에 답하려면 다음을 수행하십시오.
vi에서 검색 및 대체 작업을 수행했지만 검색을 수행 한 다음 명령을 실행하는 방법을 모르겠습니다.
당신은 :g[lobal]
명령 을 원합니다 :
:[range]g[lobal]/{pattern}/[cmd]
Execute the Ex command [cmd] (default ":p") on the lines within [range] where {pattern} matches.
정확한 예에서는 실제로 더 오래 걸리지 만 특정 패턴과 일치하는 줄을 삭제하는 것과 같은 작업의 경우 훨씬 더 간결합니다.
예를 들어를 포함하는 모든 줄을 대신 삭제하려면 HERE
다음을 실행합니다.
:g/HERE/d
사실 :이 명령 형식은 grep
의 이름의 유래 : g/re/p
, global/{regex}/print
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다