명령어 출력에서 단어가 시작하는 해당 문자를 검색하기
예제
예제는 깃허브 커밋 메세지에서 해당 찾고 싶은 메세지 문자열을 찾기
shell 명령어, grep, if, for 을 통해서 찾는 것을 성공
결론
for ((i=0;i<=10000;i++))
do
echo "1" >> index.js;
git add .;
if git commit -m "mining" | grep "\<00"; then break; else echo ""; fi
done
깃허브에 커밋 메세지를 만들어야 하기 때문에, 파일을 계속해서 수정하면서 커밋 메시지를 만들었습니다.
설명
# shell 문법 for 반복문
# 문법이 여러가지인데, 제일 많이 사용하는 문법으로 시작
# 까다로운 점은 do done을 통해서 시작과 끝을 맺어줘야합니다.
# 100번 반복
for ((i=0; i<100; i++))
do
echo "hi"
done
# echo 문
# echo 문은 간단하게 터미널에 문자열을 출력하기 위함이며, echo 문을 이용해서
# index.js 파일에 계속해서 append를 해줬습니다.
# index.js 파일에 1 더하기
echo "1" >> index.js
# if문
# if 문은 반복문을 돌리다가 해당 문자열을 찾을 경우 중단이 필요했기 떄문에, 사용
# 문법은 if 그리고 끝맺음은 fi로 끝을 맺어줘야합니다.
# 조건식과
if [ls | grep ">\00"];
then
실행;
else
실행;
fi
# shell 문법 if
# grep 문자열 검색
# grep의 경우 문자열 처음 시작하는 문자열을 매칭해 검색을 가능하게 했습니다.
# 00으로 시작하는 문자열을 찾고 싶었습니다.
# 커밋 터미널 명령어 출력 메세지중에 grep을 통하여 00으로 시작하는 단어를 찾을 수 있었습니다.
git commit -m "mining" | grep "\<00"
결과
성공적으로 문자열을 검색에 성공한 내용만 출력하여 해당 문자열에서 반복문 정지하였습니다.
장점
계속해서 단일적으로 노동력을 소비하지 않고, 반복문을 통해서 해결할 수 있습니다.
활용
이러한 문법을 통해 다양한 곳에서 활용이 가능하며, 개발하다가 문제로 00으로 시작하는 해쉬 열이 필요해서 찾게 되었습니다.
더 실용적이고, 활용적인 곳에서, 예를 들면 rest api 의 response 메시지 등에서 활용해볼 수 있겠습니다.
'etc > 개발하다가 만난 삽질' 카테고리의 다른 글
file is a commonjs module it may be converted to an es6 module 해결 (0) | 2022.02.03 |
---|---|
[LInux] bash shell export (환경변수) (0) | 2022.01.13 |
ssh - 추가인증 google authenticator (PAM) (0) | 2022.01.07 |
react useEffact (0) | 2021.12.02 |
[linux, mac] 디렉터리(폴더) 삭제, 복사하기 (0) | 2021.02.15 |