OK. Here we go. The first series of pictures shows what happens when the pattern in .plexignore is *
. The documentation says that pattern should match all files in the directory containing the .plexignore file and all sub-directories of that directory.
Here’s the structure of the files and folders, as well as the contents of the .plexignore file. The root of this particular Plex library is /mnt/wd10T/tvshows.
david@myplex:/mnt/wd10T/tvshows/JAG$ ll
total 52
drwxrwxr-x 13 plex plex 4096 Sep 29 13:46 ./
drwxrwsr-x 100 plex plex 4096 Sep 28 22:26 ../
drwxrwsr-x 3 plex plex 4096 Sep 29 16:41 Original/
drwxrwsr-x 2 plex plex 4096 Sep 29 12:35 'Season 1'/
drwxrwsr-x 2 plex plex 4096 Sep 29 13:07 'Season 10'/
drwxrwsr-x 2 plex plex 4096 Sep 29 13:07 'Season 2'/
drwxrwsr-x 2 plex plex 4096 Sep 29 13:07 'Season 3'/
drwxrwsr-x 2 plex plex 4096 Sep 29 13:07 'Season 4'/
drwxrwsr-x 2 plex plex 4096 Sep 29 13:07 'Season 5'/
drwxrwsr-x 2 plex plex 4096 Sep 29 13:07 'Season 6'/
drwxrwsr-x 2 plex plex 4096 Sep 29 13:07 'Season 7'/
drwxrwsr-x 2 plex plex 4096 Sep 29 13:07 'Season 8'/
drwxrwsr-x 2 plex plex 4096 Sep 29 13:07 'Season 9'/
ddavid@myplex:/mnt/wd10T/tvshows/JAG$ ll Season\ 1
total 7842008
drwxrwsr-x 2 plex plex 4096 Sep 29 12:35 ./
drwxrwxr-x 13 plex plex 4096 Sep 29 13:46 ../
-rw-rw-r-- 1 plex plex 730391209 Sep 29 12:32 'JAG - S01E01-02 - A New Life.mkv'
-rw-rw-r-- 1 plex plex 365127525 Sep 29 12:32 'JAG - S01E03 - Shadow.mkv'
-rw-rw-r-- 1 plex plex 364879092 Sep 29 12:32 'JAG - S01E04 - Desert Son.mkv'
-rw-rw-r-- 1 plex plex 364550121 Sep 29 12:32 'JAG - S01E05 - Deja Vu.mkv'
-rw-rw-r-- 1 plex plex 365000553 Sep 29 12:32 'JAG - S01E06 - Pilot Error.mkv'
-rw-rw-r-- 1 plex plex 364657111 Sep 29 12:32 'JAG - S01E07 - War Cries.mkv'
-rw-rw-r-- 1 plex plex 365351183 Sep 29 12:32 'JAG - S01E08 - Brig Break.mkv'
-rw-rw-r-- 1 plex plex 364781363 Sep 29 12:32 'JAG - S01E09 - Scimitar.mkv'
-rw-rw-r-- 1 plex plex 364852649 Sep 29 12:32 'JAG - S01E10 - Boot.mkv'
-rw-rw-r-- 1 plex plex 364606084 Sep 29 12:32 'JAG - S01E11 - Sightings.mkv'
-rw-rw-r-- 1 plex plex 364889244 Sep 29 12:33 'JAG - S01E12 - The Brotherhood.mkv'
-rw-rw-r-- 1 plex plex 365199555 Sep 29 12:33 'JAG - S01E13 - Defensive Action.mkv'
-rw-rw-r-- 1 plex plex 365050157 Sep 29 12:33 'JAG - S01E14 - Smoked.mkv'
-rw-rw-r-- 1 plex plex 365159671 Sep 29 12:33 'JAG - S01E15 - Hemlock.mkv'
-rw-rw-r-- 1 plex plex 365140230 Sep 29 12:33 'JAG - S01E16 - High Ground.mkv'
-rw-rw-r-- 1 plex plex 365384308 Sep 29 12:33 'JAG - S01E17 - Black Ops.mkv'
-rw-rw-r-- 1 plex plex 365059474 Sep 29 12:33 'JAG - S01E18 - Survivors.mkv'
-rw-rw-r-- 1 plex plex 365131991 Sep 29 12:33 'JAG - S01E19 - Recovery.mkv'
-rw-rw-r-- 1 plex plex 365384678 Sep 29 12:33 'JAG - S01E20 - The Prisoner.mkv'
-rw-rw-r-- 1 plex plex 364877562 Sep 29 12:33 'JAG - S01E21 - Ares.mkv'
-rw-rw-r-- 1 plex plex 364627851 Sep 29 12:33 'JAG - S01E22 - Skeleton Crew.mkv'
david@myplex:/mnt/wd10T/tvshows/JAG$ cd Original
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ ll
total 16
drwxrwsr-x 3 plex plex 4096 Sep 29 16:34 ./
drwxrwxr-x 13 plex plex 4096 Sep 29 13:46 ../
-rw-rw-r-- 11 plex plex 151 Sep 29 15:05 .plexignore
drwxrwsr-x 2 plex plex 4096 Sep 29 16:38 'Season 1'/
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ ll Season\ 1/
total 716344
drwxrwsr-x 2 plex plex 4096 Sep 29 16:38 ./
drwxrwsr-x 3 plex plex 4096 Sep 29 16:34 ../
-rw-rw-r-- 1 plex plex 733521920 Sep 29 16:31 'JAG - S01E01-02 - A New Life.avi'
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ cat .plexignore
# Plex will ignore files that match patterns in this file
# The * is a wildcard character
# For now, ignore all files in this folder and subfolders
*
And here’s what appears on the Plex screen. Note that two episodes are shown for S01E01. One is the .avi file shown above in /mnt/wd10T/tvshows/JAG/Original/Season\ 1. The other is the episode’s .mkv file in /mnt/wd10T/tvshows/JAG/Season\ 1. By the documentation, I expect the copy in /mnt/wd10T/tvshows/JAG/Original/Season\ 1 to be filtered out by /mnt/wd10T/tvshows/JAG/Original/.plexignore. It is not.
Next, I link the .plexignore file into the Season\ 1 directory:
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ ln .plexignore Season\ 1/
david@myplex:/mnt/wd10T/tvshows/JAG/Original$
Success! The extra copy of the episode is filtered out. But why did I need to place a .plexignore file in the Season\ 1 directory? The documentation says that the one in Original should filter out files in sub-directory.
Now, I remove .plexignore from the sub-directory to prove that it is not the ignore file in the Original folder that did the filtering.
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ rm Season\ 1/.plexignore
david@myplex:/mnt/wd10T/tvshows/JAG/Original$
Et voila. The scanner once again finds the second copy of the episode file.
-----------------------End of Test Case Using *
as Pattern---------------------
Now let’s try your suggestion that I use ./*
as the pattern. I’ll use the same setup as before except this time the single pattern in .plexignore is ./*
.
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ vi .plexignore
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ ll
total 16
drwxrwsr-x 3 plex plex 4096 Sep 29 16:41 ./
drwxrwxr-x 13 plex plex 4096 Sep 29 13:46 ../
-rw-rw-r-- 11 plex plex 153 Sep 29 16:41 .plexignore
drwxrwsr-x 2 plex plex 4096 Sep 29 16:41 'Season 1'/
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ ll Season\ 1/
total 716344
drwxrwsr-x 2 plex plex 4096 Sep 29 16:41 ./
drwxrwsr-x 3 plex plex 4096 Sep 29 16:41 ../
-rw-rw-r-- 1 plex plex 733521920 Sep 29 16:31 'JAG - S01E01-02 - A New Life.avi'
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ cat .plexignore
# Plex will ignore files that match patterns in this file
# The * is a wildcard character
# For now, ignore all files in this folder and subfolders
./*
david@myplex:/mnt/wd10T/tvshows/JAG/Original$
Once again, Plex shows two copies of the S01E01:
Next I link the .plexignore file into the Season\ 1 folder.
david@myplex:/mnt/wd10T/tvshows/JAG/Original$ ln .plexignore Season\ 1/
david@myplex:/mnt/wd10T/tvshows/JAG/Original$
This time the scanner doesn’t filter out the .avi file even though the .plexignore file is in the same directory. Why?
I conclude that the pattern ./*
does not match any files at all. I further conclude that Plex’s pattern matching algorithm is broken. If I were on site there, I’d write a bug, but it’s a fairly minor bug because there’s an easy workaround: put a .plexignore file in every directory you want files ignored from.