SCRIPT
Posts
80 posts리눅스 bash 스크립트에서 배열/연관배열 초기화
bash 스크립트에서 사용중이던 배열(array) 또는 연관배열(associative array)의 모든 원소를 삭제하고 싶다면 빈 배열을 할당하면 된다. x[0]='abc' x[1]='def' # x 초기화 x=() 연관배열도 동일하다. declare -A a_x a_x[abc]=1 a_x[aaa]=2 # a_x 초기화 a_x=() 배열의 사용에 대한 추가적인 내용은 아래의 링크를 참고하자.
[bash: grep] grep에서 첫번째 일치하는 문자열을 찾으면 종료하기
리눅스의 grep 명령은 기본적으로 일치하는 문자열을 모두 검색해서 찾아준다. # my_data.txt에 문자열 "abc"가 있는지 확인 grep "abc" my_data.txt 만약 모두 찾을 필요 없이 일치하는 문자열이 있는지 여부만 중요하다면, 일치하는 문자열을 하나만 찾으면 해당 파일을 더 이상 읽지 않고 종료할 수 있다. 최대 몇개까지 일치하는 경우를 찾을 것인지를 지정하는 -m 옵션을 사용하면 된다. 예를 들어 "-m 1"로 지정하면 일치하는 경우를 하나만 찾으면 종료한다. # my_data.txt에 문자열 "abc"가 있는지 확인하고, 첫번째로 일치하는 문자열을 찾으면 종료 grep -m 1 "abc" my_data.txt 크기가 큰 파일에서 특정 문자열이 몇 번 나오는
[ bash: head, tail ] 처음 n개의 행, 마지막 n개의 행, 또는 이를 제외한 나머지 출력
리눅스에서 head와 tail 명령을 이용해서 텍스트 파일의 처음 부분, 마지막 부분, 또는 처음 부분을 제외한 나머지, 마지막 부분을 제외한 나머지를 출력할 수 있다. 예시를 몇개 보면 금방 감이 잡힐 것이다. # my_file.txt의 처음 5개 행을 출력 (head) head -5 my_file.txt # my_file.txt의 마지막 5개 행을 출력 (tail) tail -5 my_file.txt 만약 my_file.txt에서 처음 5개의 행을 제외한 나머지 전체, 즉 6번째 행에서 마지막 행까지를 출력하려면 tail 명령에 -n 옵션을 사용하자. # my_file.txt의 처음 5개 행을 제외한 나머지 전체 출력 tail -n +5 my_file.txt 위의 예시에서
[bash: date] UTC(GMT) 기준 시간을 로컬(한국) 시간으로 변환
UTC (GMT) 기준으로 되어 있는 시간을 로컬(한국) 시간으로 변환하는 방법이다. date 명령에서 -d 옵션을 사용한다. 예시를 보면 금방 감이 잡힐 것이다. # UTC 기준 2021년 6월 18일 20시 24분 10초를 한국 시간으로 date -d "TZ=\"UTC\" 2021-06-18 20:24:10" Sat 19 Jun 2021 05:24:10 AM KST # 출력 형식 지정 추가 date -d "TZ=\"UTC\" 2021-06-18 20:24:10" "+%Y.%m.%d %H:%M:%S" 2021.06.19 05:24:10 -d 옵션에서 TZ="UTC"라는 내용을 지정하여 입력하는 시간이 UTC 기준이라는 점을 명시했다. TZ값을 따옴표로 묶어야 하는데, -d 옵션을 사



