GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso stampare i valori ASCII (numerici) di ciascun carattere in un file?

Il comando standard per questo è od , per il dump ottale (sebbene con le opzioni, puoi cambiare da ottale a decimale o esadecimale...):

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

Si noti che emette il valore in byte di ogni byte nel file. Non ha nulla a che fare con ASCII o qualsiasi altro set di caratteri.

Se il file contiene una A in un determinato set di caratteri e vorresti vedere 65, perché questo è il byte utilizzato per A in ASCII, allora dovresti fare:

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

Per prima convertire quel file in ascii e quindi scaricare i valori di byte corrispondenti. Ad esempio Apple<LF> in EBCDIC-UK sarebbe 193 151 151 147 133 37 (301 227 227 223 205 045 in ottale).

$ 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 possono farlo tutti.

% 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. Come eliminare le prime N righe di un file Ascii utilizzando i comandi della shell?

  2. Come posso eliminare una nuova riga se è l'ultimo carattere in un file?

  3. Come aggiungere l'output a un file?

  4. Come posso aggiungere una stringa all'inizio di ogni file in una cartella in bash?

  5. Come reindirizzare l'output di system() su un file?

Come utilizzare il comando md5sum in Linux

Come utilizzare il comando touch in Linux

Come utilizzare il comando head di Linux

Come usare il comando diff di Linux

Come trovare il file manager predefinito?

Modificare l'ordine delle righe in un file