Você pode usar um loop for
e alguns testes
for f in Show*/Season*/*.srt; do if [[ ! -f "${f%%.*}.mkv" ]] && [[ ! -f "${f%%.*}.mp4" ]] && [[ ! -f "${f%%.*}.avi" ]]; then echo rm -v -- "$f"; fi; done
Remova echo
após o teste para excluir os arquivos
Como um script:
#!/bin/bash
for f in Show*/Season*/*.srt; do
if [[ ! -f "${f%%.*}.mkv" ]] &&
[[ ! -f "${f%%.*}.mp4" ]] &&
[[ ! -f "${f%%.*}.avi" ]]; then
echo rm -v -- "$f"
fi
done
E remova echo
para realmente fazer o trabalho, se você ver, ele removerá os arquivos corretos ...
if [[ ! -f "${f%%.*}.mkv" ]]; then
significa que, se não houver tal arquivo como o arquivo com o qual estamos lidando, que possui uma extensão .mkv
em vez de .srt
, faça algo com o arquivo atual.