Cómo eliminar caracteres no UTF-8 del archivo de texto

Tengo un montón de archivos en árabe, inglés y ruso que están codificados en utf-8. Tratando de procesar estos archivos usando una secuencia de comandos Perl, obtengo este error:

Malformed UTF-8 character (fatal) 

Comprobando manualmente el contenido de estos archivos, encontré algunos caracteres extraños en ellos. Ahora estoy buscando una manera de eliminar automáticamente estos caracteres de los archivos.

¿Hay alguna forma de hacerlo?

Este comando:

 iconv -f utf-8 -t utf-8 -c file.txt 

limpiará su archivo UTF-8, omitiendo todos los caracteres inválidos.

 -f is the source format -t the target format -c skips any invalid sequence 

Su método debe leer byte a byte y comprender y apreciar completamente la construcción de caracteres byte wise. El método más simple es usar un editor que leerá cualquier cosa, pero solo mostrará caracteres UTF-8. Textpad es una elección.

 cat foo.txt | strings -n 8 > bar.txt 

hará el trabajo.