태그 : awk 요약보기전체보기목록닫기
- [bash: awk] 특정 위치(field)에 대한 정규표현식 문자열 검색(0)2017.04.11
- [bash: awk] awk에서 문자열을 분할하여 배열(array)에 저장하기 (split)(0)2017.03.09
- [bash: awk] 현재 행에서 특정 문자열이 존재할 때 바로 이전 행을 출력하기(0)2017.02.27
- [bash: awk] 일반 시간을 타임스탬프(timestamp)로 변환하기 (mktime)(2)2017.02.03
- [bash: awk] awk에서 영역 구분을 이용한 문자열 재구성 작업 (gensub)(0)2017.01.17
- [bash: awk] 다중 문자열 검색 - 2(0)2017.01.05
- [bash: awk] 출력할 내용을 조건에 따라 여러 파일로 나누어 저장하기(0)2017.01.03
- [bash: awk] awk에서 외부 명령을 실행하고 결과를 변수에 저장하기(0)2016.12.20
- [bash: awk] 특정 위치(field)의 문자열에서 특정 길이 만큼 문자열 추출 (substr)(0)2016.12.16
- [bash: awk] 작업 시작전, 완료후에 실행할 명령어 지정(BEGIN/END)(0)2016.11.18
- 리눅스 bash script
- 2017/04/11 20:21
awk에서 특정한 위치(field)에 대하여 문자열을 검색하는 방법은 이전에도 정리해 둔 바가 있지만(여기로), 정규표현식(regular expression)으로 검색할 수 있는 훌륭한 방법이 있어서 이것도 정리해 두기로.예를 들어 my_data.txt 파일에서 3번째 단어가 두자리 16진수인 경우(00~FF)에만 행 전체를 출력하는 상황을 생각해 보자...
- 리눅스 bash script
- 2017/03/09 21:26
awk에서 문자열 작업을 할 때, 한 행의 문자열을 분할해서 배열에 저장할 수 있다. 예를 들어 한 문장이 있을 때 단어별로 쪼개서 배열의 원소로 저장하는 경우다. awk에서 제공하는 split 함수를 이용하면 된다. split 함수의 형식은 아래와 같다.split(문자열, 배열 이름, 구분자)예를 들어 입력 받은 행($0)을 콜론(:) 기준으로 분할해...
- 리눅스 bash script
- 2017/02/27 20:33
텍스트 파일에서 특정 문자열을 검색해야 하는데, 해당 문자열이 출현했을 경우 바로 이전 행만 출력해야 할 경우에 awk를 이용해서 가능하다. 조건문을 사용해야 하므로 좀 복잡하긴 하지만, 어쨌든 가능.개인적으로 이 문제에 대한 고민은 여러 행으로 이루어진 텍스트 파일에서 특정 부분을 따옴표(")로 묶어주어야 하는 문제 때문에 시작되었다. 어떤 형태의 문...
- 리눅스 bash script
- 2017/02/03 20:33
시간을 타임스탬프, 또는 유닉스 시간(unix time)으로 변환하고 싶을 경우 아래의 예시와 같이 date 명령으로 간편하게 바꿀 수 있다. (참고로, 유닉스 시간은 UTC 1970년 1월 1일 0시부터 몇초가 경과했는지를 나타낸다)# 2017년 1월 1일 9시 10분 25초를 유닉스 시간으로 (date)date -d "2017/1/1 09:10:25...
- 리눅스 bash script
- 2017/01/17 21:57
예전에 sed에서 역슬래시-괄호를 이용한 영역 구분 및 문자열 재구성 작업 방법을 정리해 두었는데, 같은 종류의 작업을 awk에서도 할 수 있다. 문자열의 영역을 설정해서 자리를 바꾸거나 내용을 대체하거나 하는 등의 작업이다.우선 awk에서 제공하는 gensub 함수를 보자. 통상적인 문자열 대체는 sub, gsub 함수를 사용할 수 있지만 영역을 설정...
- 리눅스 bash script
- 2017/01/05 22:17
예전에 적었던 awk를 이용한 다중 문자열 검색에 대한 보충.문자열 A와 문자열 B가 모두 포함된 경우(A and B)와 둘 중 하나가 포함된 경우(A or B)에 대하여 아래와 같이 입력하여 검색할 수 있다. 교집합(and)은 "&&", 합집합(or)은 "||" 기호를 사용하면 된다.# my_data.txt에서 A와 B가 모두 포함된 행...
- 리눅스 bash script
- 2017/01/03 22:32
리눅스 shell에서와 유사하게, awk에서 print 명령으로 출력할 내용을 ">" 기호를 사용하면 파일로 저장할 수 있다. 아래의 예시를 보자. 우선 my_data.txt 파일의 내용이 과일의 가격이라고 가정하자.# my_data.txt 파일 내용 확인cat my_data.txtapple 500pear 800orange 500strawberry...
- 리눅스 bash script
- 2016/12/20 21:59
awk에서 문자열 작업을 할 때 외부 프로그램을 실행하는 방법이다. awk 자체적으로도 제공하는 다양한 함수 외에 외부 명령을 필요로 하는 상황에서 아주 요긴하다.예시를 하나 생각해 보자. my_data.txt 파일을 읽어서 한 행마다 MD5 해쉬값을 구해야 하는 경우다. awk에는 MD5 해쉬를 계산해 주는 함수가 없으므로 리눅스에서 제공하는 md5s...
- 리눅스 bash script
- 2016/12/16 22:34
awk에서도 expr의 substr 옵션과 같은 기능을 하는 함수가 존재한다. 이름도 substr로 같다. (expr의 substr 옵션에 대한 내용은 이전 게시물을 참고하자. 여기로)substr 함수의 형식은 아래와 같다. 아래의 형식에서 문자열이 들어갈 자리에 $1, $2 등 위치(field) 변수를 지정해 주면 된다.substr("문자열",[시작 ...
- 리눅스 bash script
- 2016/11/18 23:58
awk에서 텍스트 파일에 대한 작업을 시작하기 전, 또는 모든 작업이 끝난 후에 실행할 명령어를 지정해 줄 수 있다. 시작전을 나타내는 구문은 BEGIN, 끝난 후는 END로 지정한다. 아래의 예시를 보자.awk 'BEGIN { print "작업을 시작합니다." } ... &nbs...
최근 덧글