상세 컨텐츠

본문 제목

Command(리눅스 명령어) 특정 문자 기준 문자열 자르기(split)

Linux/ShellScript&Command

by Hoonjo 2023. 6. 20. 19:00

본문

Command(리눅스 명령어) 특정 문자 기준 문자열 자르기 (split)

Linux Commands Truncate a string by a specific character

 

 

 

서버 OS는 리눅스만 있었으면 좋겠ㄷ..ㅏ.. 유닉스 꺼ㅈ...

                                                              - 리눅스 교도

 

 

 

 

리눅스에서 특정문자를 기준으로 자르기 위해서는 cut 명령어를 사용하면 됩니다.

 

예를 들어

my.cnf 일부분

위 mysql 설정파일에서 ' = ' 기준으로 잘라서 뒷부분이나 앞부분의 문자열만 추출하고 싶을 때

-d와 -f 옵션을 추가하여 원하는 방식대로 출력할 수 있습니다.

아래에서 설명드리겠습니다.

 

 

1. 원하는 데이터 grep 하기 🔗

 

파일 내에서 필요한 한 줄만 우선 필터 해 보겠습니다.

정말 자주 사용되는 grep 명령어로 datadir을 가진 행 전체를 출력해 보겠습니다.

SQL문에서는 where 절과 비슷하겠군요.

 

명령어:

cat /etc/my.cnf | grep "datadir="

grep 결과 값

 


 

2. 특정 문자열 기준으로 자르기 ✂

 

cut 명령어를 사용해 잘라보겠습니다.

 

명령어:

cat /etc/my.cnf | grep "datadir=" | cut -d "=" -f2

cut -d 결과 값

필요한 값만 추출된 모습입니다.

 

 

설명:

cut     -d  "구분자"    -f출력할 필드 번호

 

cut 명령에서 지정한 문자를 구분자로 사용하기 위해 -d 옵션을 주고 "=" 기호를 기준으로 잡아줍니다.

-f 옵션으로 나누어진 필드의 번호를 입력하여 출력합니다.

 

즉, datadir=/var/lib/mysql 값이 ' = '을 기준으로 필드 1, 2로 나누어졌고 -f2 옵션을 통해 2번 필드가 출력된 겁니다.

 

1번 필드를 출력한 모습

 

-f1을 출력했을 땐 ' = ' 기준의 앞부분이 출력이 됩니다.

 

 

 

관련글 더보기