리눅스 쉘 스크립트에서 find 사용 시 변수값을 가지고 찾는 방법..

리눅스에서 쉘 스크립트를 작성중입니다.

우선 변수명에는 날짜가 들어갑니다.

date=`/bin/date +%Y%m%d -d '1 day ago'`

date 변수에는 어제 날짜가 들어갑니다. 20161026 과 같은 양식으로요.

그럼 이 날짜를 디렉토리명으로 하는 디렉토리들을 찾아서 tar cvfz {}.tar.gz으로 압축하고자 합니다.

다만 문제가 되는 부분이 찾아야하는 디렉토리 중 _1, _2와 같이 숫자가 붙는 디렉토리들이 있습니다.

20161026, 20161026_1, 20161027, ... 이런 경우들인데 저는 아래와 같은 명령을 사용하려고 했습니다.

find /경로 -name '${date}*' -exec tar cvfzP /경로/{}.tar.gz {} \;

위 명령어를 사용해서 검색된 디렉토리들 각각을 tar.gz으로 압축하고자 합니다.

다만 이제 찾으려는 파일명에 변수를 넣으니 제대로 검색을 못하는 것 같습니다.

어떻게 검색을 해야 20161026과 20161026_1 디렉토리를 모두 찾아서 각각 디렉토리명.tar.gz으로 압축을 할 수 있을까요..

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.