스크립트
Posts
84 posts[ 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 옵션을 사
[bash: bc, if]실수(부동소수점) 수자의 크기 비교
리눅스 bash 스크립트의 if 조건문에서 정수(integer)의 크기 비교는 기본적으로 제공된다. x=2 y=-1 if (( $x > $y )) then echo "x의 값이 y의 값보다 큽니다." fi if [[ $x -gt $y ]] then echo "x의 값이 y의 값보다 큽니다." fi 만약 비교하고자 하는 수자가 실수(부동소수점)인 경우에는 위의 예시와 같은 비교를 할 수 없다. 이럴때는 bc와 조합을 하면 되겠다. 우선 bc와 관련한 아래의 예시를 보자. x=2.34 y=0.45 # x의 값이 y의 값보다 크면 1을 출력, 그렇지 않으면 0을 출력 echo "$x > $y" | bc # x의 값이 y의 값과 같으면 1을 출
[bash: bc, sed] 1보다 작거나 -1보다 큰 계산 결과에서 앞자리에 0 표시하기 (.5 -> 0.5)
우선, 리눅스에서 bc를 이용한 산수 계산에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로 bc로 계산한 결과 값이 -1에서 1 사이일 경우, 정수 자리의 0은 표시되지 않는다. 아래의 예시를 보자. echo "scale=2; 10/11" | bc .90 echo "scale=2; -11/12" | bc -.91 위의 예시에 나온 결과값을 0.90, -0.91 이렇게 표시해 주고 싶을 경우, bc 자체적인 옵션은 없는듯하고, sed를 이용해서 아래와 같이 대체를 해 줄 수 있다. sed를 이용한 문자열 대체의 기본은 여기로 결과값이 양수일 경우와 음수일 경우를 각각 대체해야 하므로, sed에 -e 옵션을 사용하여 두가지 대체 방법을 지정해 준다. -e 옵션에 대한 내용은


![[웹툰단행본] 『통제구역관리부』 1권 후기 : 이상한 변칙과 기이한 일들이 일어나는 공간에 대하여](https://img.zoomtrend.com/2026/06/09/1780996474-SE-5eda86fa-0d63-4afd-b8dd-b801879fed52.jpg)
