이름을 기준으로 파일을 해당 디렉토리로 이동하는 방법을 잘 모르겠습니다. 기본적으로 tvshowname.season.episode.ext 또는 tv.show.name.season.episode.ext와 같이 시작하는 TV 프로그램이 많이 있습니다. Show Name, Show Name1, Show Name2 등의 디렉토리가 있습니다. 이름을 기준으로 파일을 동일한 이름의 디렉토리에 복사하고 싶습니다.
현재 파일
Game of Thrones
Shooter
The Curse of Oak Island
Van.Helsing.S01E08.Little.Things.720p.WEB-DL.DD5.1.H264-DRACULA.mkv
Van.Helsing.S01E08.Little.Things.720p.WEB-DL.DD5.1.H264-DRACULA.mp4
Real Vikings
Van Helsing
지금까지 이것을 만들었습니다
#!/bin/bash
for FILE in "`ls *.{mp4,mkv}`"
do
filename=$(basename "$FILE")
extension=${filename##*.}
filename=${filename%.*}
echo $filename
done
내가 지금 당면한 문제는 파일 이름 자체에서 처음 몇 단어 또는 적어도 쇼 이름을 얻는 방법입니다. 그런 다음 해당 이름을 기반으로 디렉토리로 이동하십시오. 각 디렉토리는 The Flash, The Curse of Oak Island 등으로 나열됩니다.
시작하는 데 도움이 될 수 있습니다.
#!/bin/bash
for f in *.{mp4,mkv} # no need to use ls.
do
filename=${f##*/} # Use the last part of a path.
extension=${f##*.} # Remove up to the last dot.
filename=${filename%.*} # Remove from the last dot.
dir=${filename#tv} # Remove "tv" in front of filename.
dir=${dir%.*} # Remove episode
dir=${dir%.*} # Remove season
dir=${dir//.} # Remove all dots.
echo "$filename $dir"
if [[ -d $dir ]]; then # If the directory exists
mv "$filename" "$dir"/ # Move file there.
fi
done
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다