Bash

유용한 도구 모음

iksadnorth 2023. 11. 30. 21:24

👣 개요

형식에 얽매이지 않고 자유롭게 메모 가능한 게시글.

 

👣 Awk - 로그 내용 파싱 도구

로그 내용을 마치 엑셀처럼 분해할 수 있는 유용한 도구

REPOSITORY         TAG        IMAGE ID       CREATED       SIZE
ubuntu             20.04      1a2b3c4d5e6f   2 weeks ago   73.9MB
nginx              latest     7a8b9c0d1e2f   3 months ago  132MB
myapp              v1         3g4h5i6j7k8l   1 year ago    458MB

위와 같은 출력 내용이 있을 때, 공백을 기준으로 파싱을 도와주는 명령어.

docker images | awk '{ print $1 }'

만약 위 명령어의 출력값을 호출하면 다음과 같이 1번째 열의 내용이 출력됨.

REPOSITORY
ubuntu
nginx
myapp

$n은 n번째 열이라고 취급할 수 있음.

docker images | awk '$1 == nginx { print $0 }'

만약 위와 같이 {} 앞에 조건문을 삽입하면 조건에 맞는 행만 출력한다.

nginx              latest     7a8b9c0d1e2f   3 months ago  132MB

 

👣 xargs - 각 행을 명령어의 개별 입력값으로 취급.

# files.txt
file1.sh
file2.sh
file3.sh
file4.sh

위와 같은 파일이 있다고 가정하면

# xargs {옵션} {실행할_명령어} 
cat files.txt | xargs --replace=@ touch @

위와 같은 명령어로 한줄씩 touch 명령어를 적용할 수 있다.