# awk

13개의 포스트

리눅스 커맨드

find : 파일 찾기 find : 파일 찾기 명령어 find [경로] [옵션] [파일명] find / -name 'ls' 최상위 dir에서부터 모든 파일을 찾음 find -name 'abc' 현재 dir에서부터 하위 dir까지 검색 awk : 필터, 가공 awk : 데이터를 조작하고 리포트 생성 위해, 파일을 원하는 대로 필터링하거나 추가해주거나 기타 가공을 통해서 나온 결과를 행과 열로 출력해주는 프로그램 형식 : awk 'pattern' filename : awk '{action}' filename : awk 'pattern {action}' filename :

2023년 9월 21일
·
0개의 댓글
·
post-thumbnail

[Linux] stdin, stdout, stderr, Redirection, pipe, awk

표준 입력/출력/에러 (stdin, stdout, stderr) 이 3가지를 표준 I/O 스트림 이라고 하며 운영체제에서 기본적으로 제공하는 추상화된 입출력장치를 의미한다. 스트림(stream) : 바이트의 흐름 / 데이터의 이동 통로 📌stdin standard input (표준 입력) 프로그램에 대한 입력을 나타내는 stream 일반적으로 키보드에 해당 File Descriptor 0 📌stdout standard output (표준 출력) 출력을 위한 스트림으로 일반적으로 현재 shell을 실행한 console이나 terminal File Descriptor 1 📌stderr standard error (표준 오류) 디버깅 정보나 에러를 출력하는데 사용 File Descriptor 2 ※ stderr로 받는 문자열은 grep이 되지 않음 (stder

2023년 9월 20일
·
0개의 댓글
·

개발일지 - 2023.08.18

오늘은 Kafka Kraft에 대하여 이전 글에서 작성하였으나 formatting storage 내용이 빠졌기에 여기에 기록해두고 기억하고자 한다. 또한 리눅스 명령어 중에 유용한 awk 에 대하여 정리하고자 한다. 1. Kafka Kraft 모드 에서의 formatting storage kafka 서버를 시작하기 전에 kafka 클러스터 ID를 생성해야 하며, 아래와 같이 생성 할 수 있습니다. 상기의 코드를 kafka 경로에서 실행하면 랜덤하게 생성된 uuid를 얻을 수 있다. 이를 클러스터 id 로 하여 스토리지 디렉토리를 포맷하는 것이다. 수행이 완료되면 config/kraft/server.properties 파일의 log.dirs 파라미터에서 설정한 디렉토리가 포맷된다. 이를 하지 않으면 kafka 를 띄웠을 때 오류가 나기 때문에 상기의 과정을 반드시!! 거쳐야한다. 나의 경우 해당 사항을 까먹어서.. 꽤 고생을 했다. **참고 사이트 : https://h

2023년 8월 18일
·
0개의 댓글
·

linux gawk

개요 'gawk'는 'awk' 유틸리티의 확장 버전입니다. 'gawk'로 알려진 'awk'의 GNU 구현은 추가 기능과 향상된 기능을 제공하여 텍스트 조작 및 데이터 추출 작업에 널리 사용됩니다. gawk는 입력 텍스트를 한 줄씩 처리하고 데이터에서 발견된 패턴을 기반으로 특정 작업을 수행하는 규칙을 적용하여 작동합니다. 로그 파일, CSV 파일 및 기타 표 형식과 같은 구조화된 텍스트 데이터를 처리하는 데 특히 유용합니다. 다음은 gawk의 몇 가지 주요 특징과 기능입니다. 다음은 gawk에 사용 예시입니다.

2023년 7월 29일
·
0개의 댓글
·
post-thumbnail

Linux awk 명령어

개요 운영체제는 ubuntu 20.04 버전입니다. Linux 에 awk 명령어를 알아보겠습니다. "awk"는 주로 텍스트 파일을 한 줄씩 스캔 및 처리하고, 패턴 일치 규칙을 적용하고, 해당 패턴을 기반으로 작업을 수행하는 데 사용됩니다. 'awk'는 데이터 추출, 조작 및 보고 작업에 자주 사용됩니다. 다음은 awk 작동 방식에 대한 간략한 개요입니다. 다음은 awk 구문을 설명하는 간단한 예입니다. 아래 이미지 와 같이 첫번째 필드를 $1 이라고 생각하시면 됩니다. awk 에 -F 없이 기본 명령어로 입력하면 기본 띄어쓰기로 구별됩니다. awk '$' 는 필드의 번호입니다. '$2 > 24 {print $1}' 파일명은 해당 파일에 두번째 필드가 24보다 클때 $1 첫번째 필드를 출력해라라고 해석됩니다. ![](https://velog.velcdn.com/images/hyunseungbin/post/7df96ad0-271f-4531-a85b-44ff6f83f6

2023년 7월 28일
·
0개의 댓글
·
post-thumbnail

리눅스 - shell script (셸 스크립트) path 변수, 환경 변수, 실행 방법 차이, awk 기본 알아보기

리눅스 shell > shell script는 실행되는 "환경"에 많은 영향을 받는다. script를 실행하는 shell의 선언된 환경 변수, 해당 command를 실행하기 위한 path의 설정 값, 그리고 user 의 권한, 심지어 os버전에 따른 shell 버전 등 에 영향을 받는다. shell script에 대한 좀 더 포괄적인 개념을 체크해보자. shell script execute shell의 실행되는 과정 우리가 실행하는 "bash"도 shell의 종류이며 근본적으로 하나의 SW 중 하나이다. 그리고

2023년 2월 4일
·
0개의 댓글
·

[Linux] Shellscript 에서 config.ini 파일 로딩하기

awk 를 이용해 읽어오는 방법 1) version=$(awk -F "=" '/database_version/ {print $2}' parameters.ini) 이 경우엔 이름이 중복되는 경우는 걸러내지 못함 2) reference stack overflow 1 stack overflow 2

2023년 1월 26일
·
0개의 댓글
·
post-thumbnail

awk

awk 명령의 입력으로 지정된 파일로부터 데이터를 분류한 다음, 분류된 텍스트 데이터를 바탕으로 패턴 매칭 여부를 검사하거나 데이터 조작 및 연산 등의 액션을 수행하고, 그 결과를 출력하는 기능을 수행한다. awk 는 기본적으로 데이터를 다음과 같이 분류한다. record (row) : line 으로 구분 field (column) : space, tab 으로 구분 option

2023년 1월 13일
·
0개의 댓글
·
post-thumbnail

AWK 로 DATE 및 TIME 정규표현식

서론 > 데이터를 만지는데 awk 를 이용하면 다른 것보다 가볍고 빠르다. awk 를 정규표현식과 결합해서 사용하면 정말 빠르게 작업할 수 있다. 하지만 사용법을 잘 모르면 정말 많이 헤메게 된다. 검색해도 잘 나오지 않고 혼자 이 것, 저 것 만져볼 수 밖에 없을따름이다. 이번에는 awk 를 사용하면서 정말 많이 헤맸던 코드를 작성하겠다 Task > date&time 형식에서 특정 시간 이후 데이터만을 추출하기 randomDate.csv |date|column1|column2| |:-:|:-:|:-:| |2022-10-01 05:10:16|aaa|AAA| |2022-10-02 03:16:20|bbb|BBB| |2022-10-03 07:30:59|ccc|CCC| |2022-10-04 16:51:10|ddd|DDD| |2022-10-05 02:01:37|ccc|CCC| >위 데이터의 date 포맷을 보면 **YYYY-mm-dd HH

2022년 12월 1일
·
0개의 댓글
·
post-thumbnail

공포의 ps, grep, awk 명령어 사용기! (feat: 웹포트가 없는 배치 어플리케이션 종료하기)

사연 내장 톰캣을 구동시키면서 실행되는 어플리케이션의 경우 포트번호 단위로 프로세스를 죽이고 살리고 하는 것이 어렵지 않았다. 하지만 웹 서비스를 끼지 않고 실행되는 배치가 존재하는 경우 서버안에서 실행되는 어플리케이션의 개수가 지속적으로 늘어나면서 db 커넥션도 여러개 물고 있는 경우도 생기면서 서비스 품질에 영향을 주게 되었다. 고뇌 리눅스의 명령어를 사용하여 프로세스 id를 검색하고 검색한 프로세스 id를 기준으로 프로세스를 죽이는 방향으로 리서치를 해보았다. 해결방안 문제가 하나 존재했는데 만약 로 프로세스를 검색하는 경우 java -jar로 실행되는 어플리케이션이 만약에 또 존재한다면 다른 어플리케이션도 함께 죽게 될것 같았다. 그래서 시도해보니 ps -ef | grep 'java -jar' | grep 'admin-batch' 이런식으로 체이닝이 가능했다! ![](https://velog.velcdn.com/images/sonaky47/post/c0

2022년 7월 7일
·
0개의 댓글
·

nginx access log 에서 ip 추출해보기

nginx access log 에서 unique한 ip 목록을 추출할 일이 있었음. 파일을 가져와서 엑셀에 붙여서 잘 분리해서 중복 제거를 해도 되지만, 서버내에서 작업을 해보기로 함. sed, awk, sort, uniq 를 이용하면 ip들을 뽑을 수 있음. 로그는 아래와 같은 형식이었고 IP는 [] 로 둘러 쌓여져 있음. 원리가는 간단 함. awk 가 공백을 위주로 토큰을 만들수 있기 때문에 1. 우선 sed로 "][" 를 공백을 만들어 줌. 2. awk 에서 4번째 것을 출력 3. sort 하고 uniq 를 수행 sort 와 uniq 명령어를 수행하면 중복이 제거가 됨. 결론

2022년 1월 28일
·
0개의 댓글
·
post-thumbnail

awk

awk awk 참조 site 기본 awk 명령어 OPTION|description|e.g. :---|:---|:--- -F|필드 구분 문자 지정|awk -F '/' '{print($5)}'awk -F "/" '{print($5)}' -f|awk 프로그램 파일 경로 지정 -v|awk 프로그램에서 사용될 특정 variable값 지정|awk -v path='' '{for(i=2; i<=NF; i++) if(..); else(..); print( .. ) }' awk program: -f 옵션이 사용되지 않은 경우, awk가 실행할 awk program 코드 지정 pattern을 생략하면 모든 레코드가 적용 action을 생략하면 **print

2021년 4월 28일
·
0개의 댓글
·

awk, sed 산책

awk와 sed는 리눅스에서 서버를 관리할때나 꽤나 유용한것 같다. 아래는 자주 쓰는 코드 및 속성을 소개 한다. 구글링을 하면 더 쉽게 찾을수 있다. 하지만 키워드를 안다는 것은 다른 사람보다 아이템을 더 가지고 있다고 보면 된다. 세상은 키워드가 지배한다. awk sed

2020년 12월 21일
·
0개의 댓글
·