;
여러 테이블에 대한 ddl이 포함된 txt 파일에 줄 끝을 추가하고 싶습니다 .
예를 들어:
LOCATION:
'hdfs://HDP**/apps/hive/warehouse/bps_uat.db/maaa'
;
위에서 언급했듯이 모든 줄의 끝에 추가 해야 합니다 .
답변1
Freddy의 답변 외에도 :global
. 예를 들어:
:g/maaa/norm A;
의미는 다음과 같습니다
:g/ " On each line matching this regex:
maaa " 'maaa'
norm A; " Run 'A;' as if I had manually typed
질문에서 어떤 행에 적용할지 명확하지 않기 때문에 "maaa"를 필요에 맞게 조정해야 합니다. :g/hdfs/norm A;
예를 들어 "hdfs"라는 텍스트가 포함된 모든 줄에는 세미콜론이 추가됩니다.
답변2
;
로 끝나는 모든 줄에 a를 추가하려면 maaa'
다음 대체를 사용할 수 있습니다. 누르고 Esc들어가세요
:%s/maaa'$/&;/
설명하다:
:%s/
한 줄에 하나씩 교체maaa'$
maaa'
줄 끝에서 일치$
/&;/
일치하는 패턴으로 교체하고;
;
공백으로 시작하고 'hdfs://
a로 끝나는 모든 줄에 a를 추가하려면 '
다음 대체 방법을 사용할 수 있습니다. 다시 누르고 Esc들어가세요
:%s/^ 'hdfs:\/\/.*'$/&;/
설명하다:
:%s/
한 줄에 하나씩 교체^ 'hdfs:\/\/.*'$
줄의 시작^
, 그 뒤에 공백 문자, 그 뒤에hdfs://
(/
a 로 이스케이프해야 함\
), 임의의 문자.*
, 그 뒤에'
줄의 끝과 일치합니다.$
/&;/
일치하는 패턴으로 교체하고;
문제가 발생하면 언제든지 Esc+를 사용하여 작업을 취소할 수 있습니다.u