16 lines
		
	
	
		
			636 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			636 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh -e
 | 
						|
# Remove thumbnails with URIs pointing to at this moment non-existing files.
 | 
						|
ninja pnginfo
 | 
						|
 | 
						|
pnginfo=$(pwd)/pnginfo cache_home=${XDG_CACHE_HOME:-$HOME/.cache}
 | 
						|
for size in normal large x-large xx-large; do
 | 
						|
	cd "$cache_home/thumbnails/$size" 2>/dev/null || continue
 | 
						|
	find . -name '*.png' -print0 | PNGINFO_SKIP_TRAILING=1 xargs -0 "$pnginfo" \
 | 
						|
		| jq -r '.info.texts."Thumb::URI"' | grep '^file:///' \
 | 
						|
		| grep -v '^file:///run/media/[^/]*/NIKON/' \
 | 
						|
		| perl -MURI -MURI::Escape -MDigest::MD5 -lne \
 | 
						|
			'print Digest::MD5->new()->add($_)->hexdigest . ".png"
 | 
						|
				if !stat(uri_unescape(URI->new($_)->path))' \
 | 
						|
		| xargs rm
 | 
						|
done
 |