vi에서 특정 패턴과 일치하는 라인 표시 및 편집

vi에서 특정 패턴과 일치하는 라인 표시 및 편집

VI 편집기에서 특정 문자열과 일치하는 라인만 표시하는 옵션을 찾고 있습니다. 줄을 나열한 후 단어를 편집하고 싶으면 이 내용이 원본 파일에 반영되어야 합니다.

예: 내 파일은 다음과 같습니다.

AAA1

X

Y

Z

AAA3

Z

Y

AB

AAA5

AAA8

AAA 순서를 바꾸고 싶어요..이렇게

AAA1

X

Y

Z

AAA2

Z

Y

AB

AAA3

AAA4

나는 그들이 순서대로 있기를 바랍니다. 따라서 AAA가 있는 행을 검색하여 분리하면 해당 특정 목록을 편집할 수 있습니다.

나는 사용했다 vim /AAAA/g % | copenAAAA 패턴과 일치하는 모든 줄을 엽니다. 그런데 편집을 하면 원본파일에는 반영이 안되네요.

답변1

특정 일치 항목을 바꾸려면 vim에서 바꾸기를 사용해야 합니다.

이 경우 이 패턴 일치를 사용하세요.

:%s/<matching_pattern>/<replace_string>/g

이는 지정된 대체 문자열을 사용하여 파일의 모든 요소와 일치합니다.

답변2

내 생각에는 다음과 같은 것이 필요하다고 생각합니다.

:let i=1 | g/^AAA[0-9]\+/s//\='AAA'.i/ | let i=i+1

당신은 읽을 수 있습니다"오름차순으로 바꾸기"

관련 정보