danbibibi
article thumbnail

sed(Stream Editor)

  • vi 편집기처럼 원하는 내용 추출, 문자열 치환 등 다양한 작업을 수행할 수 있음
  • 1개의 라인씩 입력 라인을 읽어들여 표준출력으로 출력함
  • 홀드 버퍼(데이터의 원본을 가지고 있는 곳), 패턴 버퍼(조건에 따라 가공된 데이터 저장) 두가지 버퍼를 가지고 있음
ed vs sed
- sed의 경우 라인들을 하나씩 읽고, 수정하고, 출력하기 때문에 기억장치 안의 버퍼를 사용하지 않음
- 버퍼를 사용하지 않으면 파일의 크기에 제한 없이 작업을 할 수 있음
- ed와 같이 버퍼를 사용하는 경우는 버퍼의 크기보다 큰 파일은 처리할 수 없으며 대개 버퍼의 크기는 1MB
- 따라서 sed는 아주 큰 파일을 처리할 때 주로 사용됨

 

사용법

# 특정 패턴을 적용하여 데이터 추출
sed [패턴] [파일명]
cat [파일명] | sed [패턴]

# sed 중복 적용
cat [파일명] | sed [패턴] | sed [패턴] | sed [패턴]
명령어 설명
sed '/a/d' test.txt a가 포함된 행 삭제
sed 's/a//g' test.txt a가 포함된 행에서 a만 지우고 출력
sed 's/ //g' test.txt 행에서 공백(space) 제거
sed '/^$/d' test.txt space 조차 없는 빈 행 삭제
sed '/^\s*$/d' test.txt space만 있는 빈 행 삭제
sed 'a\\' test.txt 행마다 위, 아래 공백인 행 추가
sed 's/a. *b//' 각 행에서 a~b까지 전체 내용 삭제 후 출력
sed 's/\[//g' 대괄호 '['삭제 

 

'프로그래밍 > Linux' 카테고리의 다른 글

mDNS / DNS-SD 란? Avahi란?  (0) 2024.08.02
[Linux] 파일 이름, 내용 일괄변경  (0) 2024.04.03
[Linux] grep 정리  (0) 2024.03.27
[Linux] 권한 설정 정리 (chown, chmod, chgrp)  (0) 2024.03.20
profile

danbibibi

@danbibibi

꿈을 꾸는 시간은 멈춰 있는 것이 아냐 두려워하지 마 멈추지 마 푸른 꿈속으로