tl; dr: -delete não é requerido pelo POSIX, -exec é.
Fatos
Página man do POSIX 1003.1 para find especifica -exec mas não -delete .
Isso significa que -exec deve funcionar virtualmente em todos os lugares. Eu ficaria surpreso ao encontrar find que tem -delete sem -exec . O oposto é bem possível. Especialmente sistemas leves que usam busybox tendem a fornecer apenas opções básicas de linha de comando.
Por exemplo Eu tenho um OpenWRT em um dos meus roteadores e seu find entende -exec , ele não entende -delete .
Não ter -delete não é grande coisa quando você tem -exec rm … . Por outro lado, -delete não pode substituir -exec em geral. É um design inteligente permitir omitir -delete primeiro.
Experiência pessoal, observações e opiniões
O acima deve ser o principal motivo pelo qual -exec rm {} \; é tão amplamente recomendado. O secundário pode ser um efeito de bola de neve. Os usuários lêem artigos e exemplos, se familiarizam com -exec e publicam seus próprios comandos (por exemplo, aqui no Superusuário). Alguns deles podem nem saber que -delete existe.
Algumas vezes vi (ou dei) comentários como 'Você pode usar -delete . E as respostas foram como "Obrigado, eu não sabia disso". Não me lembro de nenhuma resposta "Eu sei, mas isso não é POSIX '.
Tendo dito tudo isso, eu costumo mencionar -delete sempre que -exec rm {} \; aparece. O motivo é -delete não gerar um novo processo, enquanto -exec rm {} \; invoca o rm separado para cada arquivo correspondente. Se você não puder usar -delete , seu próximo pensamento deverá ser -exec rm {} + , que pode remover vários arquivos com cada rm .
Por que razão não é -exec … + amplamente recomendado? Pode ser por causa de suas limitações. Eu posso imaginar um usuário inexperiente pensando "Isso funciona com rm , deixe-me usá-lo com mv ! ' Então -exec mv {} foo/ + não funciona porque {} precisa estar no final, logo antes de + . O usuário fica frustrado e volta para o
Recomendar -delete costuma ser seguro aqui no Superusuário, eu acho. A maioria das perguntas especificam comandos "grandes" de OS-es, find que são ricos em opções. E mesmo que haja um usuário cujo find seja limitado, provavelmente receberei feedback. Ele ou ela diz que a solução não funciona para eles e sugiro -exec rm … , explique o problema, etc.
Um artigo independente que recomenda -delete não receberá esse feedback. Em caso de problemas, o usuário simplesmente acessará o próximo link retornado pelo Google.