
다음 스크립트를 어떻게 사용합니까?재귀적으로포함된 디렉토리를 (1 프레임만) .mp4
로 변환합니다..png
지금은 디렉토리만 변환합니다. 재귀적이지 않습니다.
for i in *.mp4
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
ffmpeg -i "$i" -r 0.0033 -vf scale=-1:1024 -vcodec png "${name}.png"
done
답변1
find . -type f -name '*.mp4' -exec sh -c '
name="${1%.*}"
echo "$name"
ffmpeg -i "$1" -r 0.0033 -vf scale=-1:1024 -vcodec png "${name}.png"
' find-sh {} \;
노트:
- 원본 코드에는
name=`echo "$i" | cut -d'.' -f1`
품질이 다소 낮은 조각이 있습니다. 첫 번째 점에서 잘립니다. 잘못된 것 같습니다. 이것이 유일한 문제는 아니지만 자세히 설명하지는 않겠습니다. 확장 프로그램을 제거하려는 경우 올바른 방법은 입니다name="${i%.*}"
. *.mp4
때문에 인용된다이것.- 정신이것.
find-sh
설명된다여기.find
하위 디렉터리로 내려오지만 기본적으로 기호 링크를 따르지 않습니다. 모든 "하위 디렉터리"가.
디렉터리에 대한 링크인 경우 도구가 일반적으로 내려오지 않는다고 잘못 생각할 수 있습니다.man 1 find
, 옵션을 확인하세요-L
.