BASH find Question
Mark Phillips
mark at phillipsmarketing.biz
Sat Oct 14 22:15:17 MST 2017
I found a few (~120) .mkv files crept into my plex movie drive. Plex on my
limited plex server has trouble transcoding these files in real time, so I
need to transcode them into mp4s ahead of time.
I tried this script, but I have an problem with the second find command.
find /media/plex/ -name '*.mkv' | while read line; do
echo "Processing file '$line'"
f=`basename "$line" .mkv`
echo "basename = $f"
if [ -n "$(find /media/plex/ -name '$f.mp4' )" ]; then
#ffmpeg -i {} -vcodec copy -acodec copy $f.mp4 > fix2-mkv.txt 2>&1
#echo {} > files_fixed.txt 2>$1
echo "**************need to convert $line"
else
echo "$f.mp4 already exists"
fi
done
All of the file names contain special characters, eg '[', and others.
For example,
/media/plex/Movies/Disney (Classic)/Robin Hood (1973 Movie)
[x264-AAC][DVD][C-W].mkv
I get a false negative on this file when I search for the corresponding mp4
file because of the '[' in the file name.
This works:
find /media/plex -name 'Robin Hood (1973 Movie)*'
/media/plex/Movies/Disney (Classic)/Robin Hood (1973 Movie)
[x264-AAC][DVD][C-W].mkv
but this gives a false negative
find /media/plex -name 'Robin Hood (1973 Movie) [x264-AAC]*'
root at orca:/home/mark#
I searched the find man page for ways to handle the special characters, but
no luck on finding a solution. Anyone have a suggestion?
Thanks!
Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phxlinux.org/pipermail/plug-discuss/attachments/20171014/dd06dacb/attachment.html>
More information about the PLUG-discuss
mailing list