shell command 에서 string 검사하기 string search
shell 에서 string 속에 특정 문구가 존재하는지를 알고 싶을 때 기존에 사용하던 방법은 grep 으로 검사를 하는 것 이였습니다.
if [ `echo $long_string | grep $short_string | wc -l` == 1 ] ;
then
echo "$long_string has $short_string"
fi
이렇게 사용하면 if 문에서 사용된 echo 때문에 shell script 의 결과물에 필요 없는 문구가 표시되기 때문에 보기에도 좋지 않고 복잡하게 여러 명령과 pipe 를 사용하게 되어 가독성도 떨어집니다.
이럴 때 사용할 수 있는 방법은 ** 입니다.
위의 내용은 아래 처럼 변경 할 수 있습니다.
if [[ $long_string == *${short_string}* ]] ;
then
echo "$long_string has $short_string"
fi
위 방법은 아주 간결하며 필요없는 내용도 보이지 않으므로 echo 를 사용하는 것 보다 더 좋습니다.
간단한 팁으로 배열을 사용할 때 자주 하는 실수 중 하나는 {} 를 누락하여 코딩한다는 것 입니다.
arry["simple array" "test in shell"]
echo "$arry[1]"
위 결과는
simple array[1]
입니다.
정상적인 사용 방법은 아래와 같습니다.
arry["simple array" "test in shell"]
echo "${arry[1]}"
결과는
test in shell
이상 shell command 에서 string 검사하기 string search 에 대한 글 이였습니다.
크롬 메모리 사용량 줄이기 (Chrome memory 줄이기) (0) | 2015.02.10 |
---|---|
fastboot devices 나 adb devices 에서 no permission error 발생할 때 처리방법 (0) | 2015.01.16 |
소스 검색을 빨리 하는 방법 (source 검색 속도 빠른 툴) OpenGrok 설치 (0) | 2014.11.28 |
(USB device) Ubuntu 에서 USB 장치목록 보기 (0) | 2014.10.11 |
ssh 를 이용한 network file copy 명령어 (scp 명령어 사용법) (0) | 2014.10.06 |