Shell Script

문자열 분리, 특정 컬럼 출력하는 명령 (String split, delimit) - cut, awk, print 명령

AndrewJ 2021. 11. 11. 19:13
반응형

 

작성일: 2024년 4월 15일

 

 

리스트 형태의 문자열(또는 Text 문서)에서  특정 컬럼만 추출하고 싶을 때가 있다.

이런 경우 cut 명령, awk 명령을 이용해서 아래 예제와 같이 문자열에서 원하는 부분을 분리(split, delimit)할 수 있다.

 

cut 명령 예제

## 예들 들어, "aa.bb.cc." 라는 문자열이 있다면,
## 아래와 같이 실행하면, "aa"만 뽑을 수 있다.

$  echo "aa.bb.cc."  |  cut -d '.' -f1
aa
$  echo "aa.bb.cc."  |  cut -d '.' -f2
bb
$  echo "aa.bb.cc."  |  cut -d '.' -f3
cc
$

 

awk 명령 예제

## 문자열에서 특정 word만 추출하고자 하면, 아래와 같이 실행한다.

$  echo  "10.10.12.49  10.10.12.30  192.168.122.1"  |  awk '{print $1}'
10.10.12.49

$  echo  "10.10.12.49  10.10.12.30  192.168.122.1"  |  awk '{print $2}'
10.10.12.30

$  echo  "10.10.12.49  10.10.12.30  192.168.122.1"  |  awk '{print $2 " -- " $3}'
10.10.12.30 -- 192.168.122.1