SCRIPT

포스트: 80
Tags

Posts

80 posts

[bash: if, grep] 특정 문자열의 존재유무에 따른 작업 지정하기

반달가면|2017년 10월 31일

어떤 파일에 특정한 문자열이 있는 경우와 없는 경우에 각기 다른 작업을 해야 할 경우, if 조건문과 grep을 적절히 조합해서 간편하게 구현할 수 있다. 우선 if 조건문의 -z 옵션을 보자. 이것은 문자열의 길이가 0이면 참, 0이 아니면 거짓이다. 아래의 예시를 보자. string="abc" # 변수 abc에 저장된 문자열의 길이가 0인 경우 메시지 출력 if [[ -z $string ]] then echo "변수 string에 저장된 문자열의 길이는 0입니다." fi 이제 원래의 문제로 돌아가서, 예를 들어 파일 my_file.txt에 문자열 "abcd"가 존재하느냐 여부에 따라서 뭔가 다른 작업을 해야 하는 경우를 생각해 보자. if 조건에 grep을 이용한 문자열 검색의

[유니티][Script] 카메라 줌인, 줌아웃

솔루션|2017년 10월 29일

using UnityEngine;using System.Collections;public class Camera_Zoom : MonoBehaviour{ //카메라가 추적할 타겟 (플레이어) public Transform player; //줌의 정도를 조절 float Zoom; //카메라의 Transform private Transform tr; // Use this for initialization void Start () { //줌인, 줌아웃 할때 마다 증가, 감소할 수치 Zoom = 1f; //카메라의 Transform 컴포넌트 할당 tr = GetComponent (); } void LateUpdate() { Camera_Zoom (); } void Ca

[bash: awk] awk에서 필드 구분자를 지정할 때 "escape sequence" 관련 경고 메시지 발생

반달가면|2017년 10월 19일

awk에서 -F 옵션을 이용해서 필드 구분자(field separator)를 지정할 수 있다. 일단 관련 내용은 이전 게시물을 참고하자. [bash: awk] 특정 위치(field)에 대한 문자열 검색 [bash: awk] 여러 종류의 단어 구분자를 지정해서 단어 선택하기 알파벳이나 수자 등을 필드 구분자로 사용할 때는 크게 문제가 없는데, 만약 특수문자(|, ] 등)가 구분자에 포함되어 있을 경우에는 문제가 좀 달라질 수 있다. 아래의 예시를 보자. # example.txt 파일 내용 확인 cat example.txt john||123-456 jane||111-222 # example.txt에서 두번째 필드 출력(오동작) awk -F '||' '{ print $2 }' e

[bash: sync] 계속 파일 구성이 변하는 디렉토리에 대한 작업에 대한 문제

반달가면|2017년 9월 19일

확실치는 않은데, 어쨌든 일단 정리해 두기로. 일단 상황은 아래와 같다. ~/ftp_data 디렉토리에 파일을 받고 있다. 다른 장비에서 자동으로 보내준다. 그리고 1시간 간격으로 이 디렉토리에 있는 파일의 목록을 확인해서 조건에 맞는 파일은 다른 디렉토리로 옮겨야 한다. 별로 복잡하지 않은 문제라고 생각해서 아래와 같이 스크립트를 만들었다. mktemp 명령으로 /dev/shm 디렉토리에 임시 디렉토리를 만들고, find 명령으로 ~/ftp_data 디렉토리에 있는 파일 목록을 출력하여 임시 디렉토리에 파일로 저장. 이후 while 반복문으로 이 파일을 읽어서 하나씩 작업. (mktemp 관련 내용은 여기로, 파일의 내용을 한줄씩 while 반복문에 적용하는 방식에 대한 내용은 여기로) #