Skip to content

minority opinions

Menu
  • Home
  • 꿀팁정리 & 자기계발
  • 기술 정보 & 테크 소식
  • 이슈 뉴스 정리
  • 주식 경제
  • Tags
Menu

리눅스 sed 명령어 사용법 / sed example

Posted on 11월 17, 20217월 8, 2023 by Daniel J.

SED 명령어는  Stream Editor의 약자로 

파일 내용에 대하여 검색, 찾기, 치환, 삽입 또는 삭제 등의 기능을 가지고 있는 리눅스의 고급명령어

& 스트림 편집기.

SED Example / Sample Command

1. 특정 패턴 문자열 출력 (awk 조합) : html 파일 에서 특정 볼륨의 사용량만 출력


sample.html

                <td><p style=”text-align:left”><abbr title=”C:\ClusterStorage\Volume1″>Volume1 <span style=”font-size:10px;color:orange”>*</span></abbr><br><span style=”font-size:10px;color:#BDBDBD;text-align:left”><abbr title=”PhysicalSize: 4.88 TB | Allocated: 4.88 TB | Unallocated: ~0 Byte”>Volume01 <span style=”font-size:10px;color:orange”>*</span></abbr></span></p></td>
                <td bgcolor=”#ACFA58″><p style=”color:#298A08″>Online</p></td>
                <td><p>CSV</p></td>
                <td><p>DZ-VI-IP-HV138</p></td>
                <td><p>FC</p></td>
                <td><p>GPT</p></td>
                <td><p>CSVFS</p></td>
                <td><p>0</p></td>
                <td><p style=”line-height:1.2″>4.27<br><span style=”font-size:10px”> TB</span></p></td>
                <td bgcolor=””><p style=”line-height:1.2″>632.6<br><span style=”font-size:10px”> GB</span></p></td>

Input

sed -n  '/Volume1 /,/~/p' sample.html | sed -n '10p'

sed -n  '/Volume1 /,/~/p' sample.html | sed -n '10p' | awk -F ">" '{print $3}' | awk -F "<" '{print $1}'

Output

632.6

2. 원하는 문자열(패턴) 추가 : conf 파일 자동으로 문자열 추가 (-i 옵션은 변경후 저장)


logstash.conf

                
             
  if [idName] =~ “4779” or [idName] =~ “4131” or [idName] =~ “3620” or [idName] =~ “5401” or [idName] =~ “5392” or [idName] =~ “2845” or [idName] =~ “3815” or [idName] =~ “4781” or [idName] =~ “4770”
    {
      drop {}
    }

Input

#!/bin/bash -x 

Before0=`grep policy logstash.conf | awk -F "or" '{print $NF}' | awk -F " " '{print $1, $2, $3}'`
Before='\'${Before0}''

read -p "PolicyID? : " PolicyID

APPEND="$Before or [policyid] =~ $PolicyID"

sed -i "s/${Before}/$APPEND/g" /usr/local/src/logstash.conf

Output (bash shell debug mode)

++ grep policy logstash.conf
++ awk -F or '{print $NF}'
++ awk -F ' ' '{print $1, $2, $3}'
+ Before0='[policyName] =~ "4770"'
+ Before='\[policyName] =~ "4770"'
+ read -p 'PolicyID? : ' PolicyID
PolicyID? : 88888888
+ APPEND='\[policyName] =~ "4770" or [policyid] =~ 88888888'
+ sed -i 's/\[policyName] =~ "4770"/\[policyName] =~ "4770" or [policyid] =~ 88888888/g' /usr/local/src/logstash.conf
sed script 실행 결과

3. Line 위, 아래 문자열 추가 : txt 파일 특정 라인 위, 아래 text 추가 하기


file.txt

                
aaaaaa aaaaaaa
bbbbbb bbbbbbb
dddddd ddddddd
eeeeee eeeeeee
gggggg ggggggg             

Input

# 특정 라인(줄) 위에 문자열 추가

sed -i'' -r -e "/dddddd ddddddd/i\cccccc ccccccc" file.txt

# 특정 라인(줄) 아래 문자열 추가

sed -i'' -r -e "/eeeeee eeeeeee/a\ffffff fffffff" file.txt

Output 

sed 명령어 실행 결과

4. sed 정규표현(regex) 문법 조합 예시 : Regex search & replace


test.txt

                
TEST Files

Telegraf Configuration

Telegraf is entirely plugin driven. All metrics are gathered from the
declared Inputs, and sent to the Declared outputs.

interval = “10s”
imetric_batch_size = 1000
servers = [“http://user:pass@localhost:9200”]            

Input

## 대상 파일에서 영어 알파벳 대문자 첫자만 괄호 묶기

cat sample.txt | sed 's/\(\b[A-Z]\)/\(\1\)/g

## 대상 파일에서 모든 숫자를 "#" 으로 치환(바꿈)

cat sample.txt | sed -r 's/[0-9]/#/g'

## 대상 파일의 모든 숫자 끝에 "XXXX"를 추가 

cat sample.txt | sed -r 's/([0-9]+)/\1XXXX/g'

Output 

5. 파일내 하나 이상의 개행(줄바꿈) 바꾸기   : \n 제거 / 공백으로 교체


in.txt

                
aaaaaaa
bbbbbbb
ccccccc
ddddddd



eeeeeee
fffffff

ggggggg            

Input

## 파일내 하나 이상의 개행(줄바꿈)을 공백으로 교체

(sed -r ':a;N;$!ba;s/\n+/ /g' | sed -r 's/\s+/ /g') < in.txt > out.txt

Output 

6. Overview of Regular Expression Syntax / sed 정규 표현식


https://www.gnu.org/software/sed/manual/html_node/Regular-Expressions.html

sed 명령어는 다양하고 수많은 옵션과 활용 예제들이 있습니다. 전문서적 책 한권으로 나올정도의 방대한 양의 강력한 리눅스 명령어 입니다.

이 글 공유하기:

  • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림) Facebook
  • 클릭하여 X에서 공유 (새 창에서 열림) X
  • 인쇄하기 (새 창에서 열림) 인쇄
  • 클릭하여 친구에게 이메일로 링크 보내기 (새 창에서 열림) 전자우편
  • Telegram에 공유하려면 클릭하세요. (새 창에서 열림) Telegram
  • WhatsApp에 공유하려면 클릭하세요. (새 창에서 열림) WhatsApp

이것이 좋아요:

좋아하기 가져오는 중...

관련

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Category

  • Article (66)
  • Uncategorized (178)
  • 게임 소식 (13)
  • 기술 정보 & 테크 소식 (260)
  • 꿀팁정리 & 자기계발 (317)
  • 블로그 (26)
  • 사건 사고 (64)
  • 역사 (35)
  • 영화 & 드라마 & 애니메이션 (27)
  • 이슈 뉴스 정리 (207)
  • 정치 인물 사회 (122)
  • 주식 경제 (119)

Recent Posts

  • 위고비(Wegovy) 효능과 가격(1펜) 정리

    위고비(Wegovy) 효능과 가격(1펜) 정리

    2월 16, 2025
  • 도메인 URL 주소 단축하는 사이트 모음

    도메인 URL 주소 단축하는 사이트 모음

    1월 30, 2025
  • 5년전 정혜수 MBC 기상캐스터가 해고당하면서 올린 글

    5년전 정혜수 MBC 기상캐스터가 해고당하면서 올린 글

    1월 28, 2025
  • MBC 기상캐스터 오요안나 자살과 집단 괴롭힘 가해자

    MBC 기상캐스터 오요안나 자살과 집단 괴롭힘 가해자

    1월 27, 2025
  • 홍장원 전 국정원 1차장 좌파이력 정리

    홍장원 전 국정원 1차장 좌파이력 정리

    1월 22, 2025

Popular Posts

©2025 minority opinions | Design: Newspaperly WordPress Theme
%d