Si, como yo, tu minimalista UNIX no incluye detalles como el comando archivo, y las barras invertidas en su grep expresiones simplemente no cooperan, intente esto:
$ for file in `find . -type f` ; do
> dump $file | cut -c9-50 | egrep -m1 -q ' 0d| 0d'
> if [ $? -eq 0 ] ; then echo $file ; fi
> done
Las modificaciones se puede querer hacer de lo anterior incluyen:
- ajustar el encuentran de comandos para localizar sólo los archivos que desea analizar
- cambio de la utilidad volcado comando para desde o lo que sea volcado en un archivo que tiene
- confirmar que el cortar comando incluye tanto un delantero y trasero espacio, así como hasta la salida carácter hexadecimal del volcado utilidad
- limitar el volcado salida a los primeros 1000 caracteres o menos para la eficiencia
por ejemplo, algo así como esto puede funcionar para usted, utilizando desde en lugar de volcar :
od -t x2 -N 1000 $file | cut -c8- | egrep -m1 -q ' 0d| 0d|0d$'
¿Has probado [dos2unix] (http://linux.die.net/man/1/dos2unix)? Arregla las terminaciones de línea automáticamente. – sblundy
No estoy muy seguro, pero iirc hay una diferencia entre citar el patrón dentro de 'y'. Afaik en patrones encerrados en 'las secuencias de escape se interpretan como una cadena adecuada' por lo que '\ r' sería equivalente a "\\ r" y "\ r" no tiene equivalente (al menos en esa notación) con '. – Anticom
Anticom: está en lo correcto en este caso en que la diferencia entre' y 'es irrelevante; sin embargo, en general son distintos ya que 'las cadenas rodeadas son citadas débilmente, y' son citadas con fuerza. Lo más importante que aprovecho es que $ expansiones o '' no se expanden en cadenas débilmente citadas. Véase [bash-hackers en las citas ] (http://wiki.bash-hackers.org/syntax/quoting) para más. – bschlueter