GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo imprimo los valores ASCII (numéricos) de cada carácter en un archivo?

El comando estándar para eso es od , para volcado octal (aunque con opciones, puede cambiar de octal a decimal o hexadecimal...):

$ echo Apple | od -An -vtu1
  65 112 112 108 101  10

Tenga en cuenta que genera el valor de byte de cada byte en el archivo. No tiene nada que ver con ASCII o cualquier otro conjunto de caracteres.

Si el archivo contiene una A en un conjunto de caracteres determinado y desea ver 65, porque ese es el byte utilizado para A en ASCII, entonces deberá hacer lo siguiente:

< file iconv -f that-charset -t ascii | od -An -vtu1

Para convertir primero ese archivo a ascii y luego volcar los valores de byte correspondientes. Por ejemplo Apple<LF> en EBCDIC-UK sería 193 151 151 147 133 37 (301 227 227 223 205 045 en octal).

$ printf '\301\227\227\223\205\045' | iconv -f ebcdic-uk -t ascii | od -An -vtu1
  65 112 112 108 101  10

hexdump , od , xxd , o $YOUR_FAVORITE_LANGUAGE todos pueden hacer eso.

% echo Apple | hexdump -C
00000000  41 70 70 6c 65 0a                                 |Apple.|
00000006
% echo Apple | perl -ne 'printf "%vd\n", $_' 
65.112.112.108.101.10
% echo Apple | clisp <( echo '(print (mapcar #'\''char-code (coerce (read-line *standard-input*) '\''list)))' )
(65 112 112 108 101)
% 

Linux
  1. ¿Cómo eliminar las primeras N líneas de un archivo ASCII usando los comandos de Shell?

  2. ¿Cómo dividir un archivo y mantener la primera línea en cada una de las piezas?

  3. ¿Cómo agregar la salida a un archivo?

  4. ¿Cómo puedo agregar una cadena al comienzo de cada archivo en una carpeta en bash?

  5. ¿Cómo redirigir la salida de system() a un archivo?

Cómo usar el comando md5sum en Linux

Cómo usar el comando táctil en Linux

Cómo usar el comando de cabeza de Linux

Cómo usar el comando diff de Linux

¿Cómo enumerar el tamaño de cada archivo y directorio y ordenar por tamaño descendente en Bash?

Cambiar el orden de las líneas en un archivo