/var/www/scripts/process_sounds.sh
다음 명령을 사용하는 bash 스크립트가 있습니다.
find /var/www/unprocessed_sounds/ * -type f
unprocessed_sounds
디렉터리에 있는 모든 파일을 찾아야 하지만 스크립트 디렉터리에 있는 모든 파일도 찾습니다(그런 다음 해당 파일을 사운드 파일처럼 처리하는데 이는 내가 원하는 것이 아닙니다).
find
현재 디렉터리에 있는 항목을 반환하는 이유는 무엇입니까 ?
답변1
명령을 잘못된 방식으로 작성했습니다. 디렉토리에서 파일을 검색하려면 /var/www/unprocessed_sounds/
다음과 같이 작성해야 합니다.
find /var/www/unprocessed_sounds/ -type f
이렇게 작성하면 현재 디렉토리 내의 모든 디렉토리를 의미하는 파일 find /var/www/unprocessed_sounds/ * -type f
을 검색합니다 ./var/www/unprocessed_sounds/
*
답변2
명령에 공백이 있습니다
find /var/www/unprocessed_sounds/ * -type f
find
/var/www/unprocessed_sounds/
그 안의 모든 파일을 찾고 별표를 제거 하고 싶다고 설명하고 있습니다 ./*
(어쨌든 find는 디렉토리 깊숙이 들어갈 것이기 때문입니다).
답변3
/var/www/unprocessed_sounds/ 디렉터리의 파일만 처리하려는 경우 거기에서 *를 사용할 필요가 없습니다.
다음을 사용해 보세요:
find /var/www/unprocessed_sounds/ -type f