CentOS Crontab - 특정 파일 이름 추출

CentOS Crontab - 특정 파일 이름 추출

확장자가 .7z인 파일과 파일을 추출하는 crontab이 있다고 가정해 보겠습니다. 그런데 이름은 모르고 확장자만 알 수 있는데, crontab에서 추출할 수 있나요?

이것은 내 크론탭입니다:

2 * * * * root cd /var/path_to_directory && 7za x ".7z*"-p'abc'

그러나 이는 작동하지 않으며 다음과 같은 결과가 발생합니다.there is no such archive

어떤 아이디어가 있나요?

답변1

7za두 개의 매개변수와 를 사용하여 x명령을 실행 했습니다 .7z*-pabc. 파일 이름과 -p옵션은 별도의 매개변수여야 합니다. .7z*파일 이름 과도 일치합니다.시작.7z, 로 끝나는 파일 이름 대신 .7z.

7za x "*.7z" -p'abc'

*.7z7za명령에 전달할 수 있다는 사실(또는 더 정확하게는 해당 인수로 의미 있는 작업을 수행한다는 사실)은 해당 명령에만 해당됩니다 . 일반적으로 와일드카드는 셸에 의해 확장되므로 현재 디렉터리에서 파일 foo.7z만 추출하려면 ; 셸이 인수를 전달 하고 명령 에 작성 해야 합니다. 작동하지만 자체 와일드카드 처리 기능이 있으므로(DOS 소프트웨어의 포트이고 DOS는 와일드카드 처리를 수행하지 않았기 때문에) 를 쓸 수도 있습니다. 여기서 두 번째 인수 는 string 입니다 ..7z7za x *.7z -p'abc'xfoo.7z-p'abc'7za7za7za x "*.7z" -p'abc'7za*.7z

관련 정보