본문 바로가기

리눅스/명령어

sed / tr

[1. sed 명령어]

sed 는 stream editor 의 줄임말 로 보임.

다양하게 활용 할 수 있지만, 나의 경우 보통 아래와 같은 경우에 자주 사용함.

  1. 파일에서 특정 문자열을 다른 문자열로 치환하고자 할 때,
  2. 특정 라인을 제거하고자 할 때,
  3. ...

1번 경우는

  • sed -i 's/apple/banana/g' data.txt

-i 를 명시하면, data.txt 에서 apple 이라는 모든 문자열을 banana 로 치환한다.

vim 명령 모드에서 %s/apple/banana/g 와 같은 의미가 된다. (g: global)

-i.bak 를 원본파일을 data.txt.bak (즉 .bak 를 접미사로 하여) 백업 한다.

 

2번 경우는 특정 문자열을 포함하는 라인을 제거하거나, 특정 라인 수 에있는 내용을 제거할 때로

  • sed -i '/apple/d' data.txt
    # apple 이라는 문자열을 갖고 있는 라인을 제거함.
    # '/' 로 열고 '/' 로 닫는다.
  • sed -i '3d' data.txt
    # 3번째 라인를 제거함.
    # '/' 가 없다.

d : delete


[2. tr 명령어]

 

tr -d abc SET1

# SET1 에서 문자열 abc 를 삭제 한다.

 

특정 문자를 변경 할 수 도 있다.


[3. tail 명령어]

보통 tail 명령어는 file 의 마지막 n 개의 line 을 출력하는 용도로 사용해왔는데,

아래와 같은 동작을 위해서도 사용할 수 있다.

  • csv 파일에서 칼럼의 필드에 해당하는 부분, 즉 첫번째 Line 을 버리고자 할 때, 

tail 명령어의 -n 옵션을 보면,

  • 부호 없이 숫자를 명시하면 끝에서 num 개의 라인을 출력하고,
  • +num 을 명시하면, num 번째 줄부터 끝까지 출력한다.

즉, tail -n +2 any.csv 를 하면

  • 2번째 라인부터 끝까지 출력하므로,
  • 첫번째 라인을 버릴 수 있다.

 

[4. head 명령어]

 

'리눅스 > 명령어' 카테고리의 다른 글

find 명령어 사용방법 정리  (0) 2024.06.11
vim. 관련 예제  (0) 2024.04.30
date 명령어  (0) 2023.01.16
sha256sum  (0) 2022.10.12