우분투
find /etc -name "*.conf"
식으로 사용하면 된다. (큰따옴표 없어도 됨)
리눅스/MacOS
find -f [검색어]
find -f [A-Z]AA.txt
나는 엘라스틱서치의 pid 파일을 각 서버마다 체크하며 프로세스가 살아있는지 체크해야 했는데,
서버마다 파일 이름이 es_aa.pid, es_bb_cc.pid 식으로 달라
es_*.pid 와 같은 와일드카드 형식으로 파일을 찾고 싶었다.
ES="es_"
FIND=`ssh -o StrictHostKeyChecking=no -n -p $port $ip find ${PID_PATH} -name "${ES}*.pid"`
if [ $FIND ]; then
~
~
find [경로] -name [파일이름-변수가능]*.pid
이런 식으로 하면 찾을 수 있고, 이 자체도 변수에 할당 가능하다. 그러면 찾은 파일 자체가 변수가 된다.
그러면 if [ $ FIND ]; then 처럼
해당 파일이 있을 경우~ 로 조건문을 만드는 것도 가능하다.
와일드카드나 [] 사용해서 파일 검색, 이동하는 방법
mv aa_* [파일경로] : aa_로 시작하는 여러 파일들을 한번에 목적지로 이동
a?b는 정확히 1개의 문자만 사이에 들어감.
[A,B,C]_number : A 또는 B 또는 C로 시작되고 _number로 끝나는
파일 이름A_number, B_number, C_number 검색.
[A-Za-z]도 가능! [A-C]도 가능!
find -name [A-C]number
find -name number[0-9]
'개발 > Bash, Shell Script' 카테고리의 다른 글
pid가 동작하는 중인지 확인하는 방법 (0) | 2021.11.18 |
---|---|
30일이 지나면 엘라스틱서치 인덱스 삭제하기 (0) | 2021.11.04 |