Vous avez défini un alias pour la commande rm sur 'rm -i'. Par conséquent, si vous invoquez la commande directement comme dans
rm file.txt
ou
rm *.txt
l'alias sera développé. Si vous l'appelez avec xargs comme dans
find . -type f -name '*.txt' | xargs rm
Le rm est passé comme un simple argument de chaîne à xargs et est ensuite invoqué par xargs sans substitution d'alias du shell. Votre alias est probablement défini dans ~/.bashrc, au cas où vous voudriez le supprimer.
vous pouvez utiliser cette simple commande pour résoudre votre problème
find . -type f -name '*.txt' -delete
En fonction de votre version de xargs, vous pouvez disposer de l'option d'extension GNU --no-run-if-empty :
find . -type f -name '*.txt' | xargs --no-run-if-empty rm -rf