리눅스 명령어의 결과를 한 번에 더하여 출력하기

2021. 3. 6. 01:43· Infra & Dev tools/Mac, Linux

어플리케이션이 메시지를 얼마나 빠르게 카프카 가져가고 있는지를 측정하고 있었다.

kafka를 리눅스 쉘에서 확인하면 current-offset 필드를 확인할 수 있는데,

같은 토픽의 모든 파티션 offset을 더하였다.

그리고 1분 후에 offset을 더한 결과와 비교하는 방식으로 대략적인 분당 트래픽 처리량을 계산하였다.

 

파티션이 적었을 땐 offset을 일일히 더해줘도 큰 문제가 없었다.

받는 데이터가 많아지면서 파티션을 몇 배나 증설하니 슬슬 수동으로 더하기 귀찮아졌다.

offset은 항상 같은 컬럼에 있다는 규칙성이 있으니 한 번의 명령어로 해결하고자 하였다.

아는 명령어를 하나씩 파이프로 이어보고 모르는건 구글링을 해본 결과 아래처럼 입력하여 원하는 결과를 도출할 수 있었다.

 

ls -l | tail -n +2 | tr -s ' ' | cut -d ' ' -f2 | awk '{sum+=$1} END {print sum}'

하나씩 분석해보자.

  1. ls -l
    • ls -l의 두 번째 필드는 링크 파일의 개수이다. 이 개수를 더하려고 한다. 
    • ls -l은 예시일 뿐이다. 원하는 명령어를 여기에 입력한다. 카프카 토픽 확인 명령어를 이 위치에 입력했다.
  2. tail -n +2
    • ls -l의 첫 번째 줄은 total이고 두 번째 줄부터 파일 목록이 출력된다.
    • 불필요한 줄은 무시하고 출력하기 위한 옵션이다.
  3. tr -s ' '
    • 각 필드마다 탭으로 구분이 되어 있다. 탭 대신 스페이스바 한 칸으로 구분하도록 변경한다.
    • 다음 명령어인 cut에서 구분자를 인식하기 위해 변경했다.
  4. cut -d ' ' -f2
    • cut은 필드를 뽑아내는 명령어이다.
    • -d는 구분자를 정하는 옵션으로, 기본값은 탭이다. 하지만 -d 없이 원하는 결과가 나오지 않아 tr 명령어를 먼저 사용했다.
    • -f2는 구분자를 기준으로 2번째 필드만을 뽑아낸다. 각 줄마다 파일의 링크 개수가 뽑혀나온다.
  5. awk '{sum+=$1} END {print sum}'
    • awk 명령어를 활용하여 덧셈 및 출력을 하게 만들었다.

 

아래 사진은 mac에서 /bin 디렉토리에 있는 파일들의 용량을 합한 결과이다.

 

다양한 방법으로 활용할 수가 있는데, 조금 변형하여 function으로 지정한 뒤 Kafka lag 남은 개수를 본다던가 하는 방법이 있다.

저작자표시 비영리 동일조건 (새창열림)

'Infra & Dev tools > Mac, Linux' 카테고리의 다른 글

mac IntelliJ에서 창 전환 단축키가 안될 때  (0) 2021.04.21
Mac/리눅스에서 특정 포트 사용 여부를 쉽게 확인하는 방법  (0) 2021.03.06
'Infra & Dev tools/Mac, Linux' 카테고리의 다른 글
  • mac IntelliJ에서 창 전환 단축키가 안될 때
  • Mac/리눅스에서 특정 포트 사용 여부를 쉽게 확인하는 방법
감동이중요해
감동이중요해
https://github.com/dhmin5693 dhmin5693@naver.com
감동이중요해
티끌모아 산을 쌓아보자
감동이중요해
전체
오늘
어제
  • 분류 전체보기 (111)
    • 알고리즘 (35)
    • Infra & Dev tools (10)
      • Git (2)
      • Cloud platform (5)
      • Mac, Linux (3)
    • BigData (1)
    • IT 도서 (11)
      • Clean Code (8)
    • Java (36)
      • Spring framework (19)
      • JPA (5)
      • Domain Driven Design (3)
    • Database (2)
      • oracle (1)
      • mysql (0)
    • Computer Science (7)
      • 운영체제 (7)
    • 기타 (9)
      • 크롤링(파이썬) (1)
      • 회고 (4)
      • Career (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

  • About me

인기 글

태그

  • Clean Code
  • Mac
  • 회고
  • Database
  • 운영체제
  • bean
  • 영속
  • 블라인드공채
  • JPA
  • DDD
  • 우아한테크캠프2기
  • Spring
  • 알고리즘
  • Java
  • Stream
  • Linux
  • 프로세스
  • 영속상태
  • 메모리
  • AWS

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
감동이중요해
리눅스 명령어의 결과를 한 번에 더하여 출력하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.