O comando find
não testa o tipo MIME em si, mas você pode usá-lo para executar o comando mimetype
e grep
o resultado.
Por exemplo
find path/to/dir/ -type f -exec sh -c '
for f; do
mimetype -b "$f" | grep -Eq "application/(x-shellscript|executable)" &&
printf "%s\n" "$f"
done
' sh {} +
Para realizar alguma operação nos arquivos correspondentes (como chmod
ou chown
), substitua o comando printf
por, por exemplo,
find path/to/dir/ -type f -exec sh -c '
for f; do
mimetype -b "$f" | grep -Eq "application/(x-shellscript|executable)" &&
chmod u+x "$f"
done
' sh {} +
Eu altamente recomendo verificar a propriedade atual e as permissões primeiro , por exemplo com ls
find path/to/dir/ -type f -exec sh -c '
for f; do
mimetype -b "$f" | grep -Eq "application/(x-shellscript|executable)" &&
ls -l "$f"
done
' sh {} +