👣 개요
형식에 얽매이지 않고 자유롭게 메모 가능한 게시글.
👣 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 명령어를 적용할 수 있다.