• Feed
  • Explore
  • Ranking
/
/
    리눅스

    우분투, Vi 편집기와 sed 명령어에 대해 알아보자

    우분투, vi 편집기 및 sed 명령어 사용법
    우분투리눅스Linuxubuntu
    J
    Jura
    2025.07.03
    ·
    3 min read

    7042

    VI편집기

    입력모드: i(현재 커서부터 편집)

    명령모드: 복사, 붙여넣기, 삭제 등

    • gg ->파일내용의 첫번째줄로 이동

    • G ->파일 내용의 마지막줄로 이동

    • 숫자gg ->숫자의 줄로 이동

    • yy ->한 행(줄) 복사

    • 숫자yy ->숫자행 만큼 복사

    • p ->복사한 행들 붙여넣기

    • dd ->한 행 삭제

    • 숫자dd ->숫자행 만큼 삭제

    • u ->실행한 내용 취소

    • 컨트롤+r ->실행취소한 내용 되돌리기

    슬래시(/)로 검색모드 진입 (<-> ?search search 문자열을 위로검색)

    • n(아래)과 N(위)으로 검색된 문자열 이동

    • ex) /search search문자열을 아래로 검색

    콜론(:)으로 실행모드 진입

    • :w+엔터 ->저장

    • :q+엔터 ->편집모드종료

      :wq! 저장후편집종료

    • :set nu ->몇번째 행인지 숫자로 좌측에 표시

    • :set ic ->검색 시 대소문자 구별x(<-> :set noic )

    • :r FILL_NAME ->다른파일의 내용을 현재위치에 추가

    실행모드에서 문자열 및 행 조작

    • $ 행 마지막

    • ^ 행 처음

    • % 파일 전체 범위

    • g 라인내 전부

    • & 찾은 패턴 그대로 다시 넣고 싶을 때

    • 2,4 m 44 ->2~4번 행을 지우고 44번 행으로 이동

    • 26 co 22 ->26번 행을 카피하여 22번 행에 붙여 넣기

    • %s/^aaa//g ->모든 aaa 단어를 삭제

    • g/test/d ->test패턴 들어있는 라인삭제

    • g/^$/d ->빈줄 삭제

    • 152d 14 ->154라인부터 14줄 삭제

    • 주석(#)처리 :%s/^[^#]/#&/g (<--->) 주석(#)해제 :%s/^[#]//g


    sed

    • -i: 파일 내용 직접 수정

      ex) sed -i '%s/test/test2/g' text.log (text.log 파일 전체에서 test를 찾아 test2로 변경해라)

    • -r: 정규표현식사용가능(+, ?, [], {n, .. n+1},[^],^,$,| 등사용 가능)

      ex) sed -r '%s/(ab)+/test/g' test.log(test.log 파일 전체에서 ab가 한번이상 반복되는 패턴을 찾아 test문자열로 치환하라)

    • -e: sed 명령어를 연속으로 실행 가능

      sed -e '%s/Network//g' -e '%s/network//g' text.log (text.log 파일 전체에서 Network,network 문자열 패턴을 전부 삭제해라)








    - 컬렉션 아티클