GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie drucke ich die (numerischen) ASCII-Werte jedes Zeichens in einer Datei?

Der Standardbefehl dafür ist od , für oktalen Dump (obwohl Sie mit Optionen von oktal zu dezimal oder hexadezimal wechseln können ...):

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

Beachten Sie, dass es den Byte-Wert jedes Bytes in der Datei ausgibt. Es hat nichts mit ASCII oder einem anderen Zeichensatz zu tun.

Wenn die Datei ein A in einem bestimmten Zeichensatz enthält und Sie möchten, dass 65 angezeigt wird, da dies das Byte ist, das für A in ASCII verwendet wird, müssen Sie Folgendes tun:

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

Um diese Datei zuerst in ASCII zu konvertieren und dann die entsprechenden Bytewerte auszugeben. Zum Beispiel Apple<LF> in EBCDIC-UK wäre 193 151 151 147 133 37 (301 227 227 223 205 045 in Oktal).

$ 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 , oder $YOUR_FAVORITE_LANGUAGE können das alle.

% 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. Wie füge ich am Ende einer Datei einen Zeilenumbruch hinzu?

  2. Wie kann ich einen Zeilenumbruch löschen, wenn es das letzte Zeichen in einer Datei ist?

  3. Wie hängt man die Ausgabe an eine Datei an?

  4. Wie kann ich am Anfang jeder Datei in einem Ordner in Bash eine Zeichenfolge hinzufügen?

  5. Wie drucke ich nur die Hex-Werte von Hexdump ohne die Zeilennummern oder die ASCII-Tabelle?

So verwenden Sie den md5sum-Befehl unter Linux

So verwenden Sie den Touch-Befehl unter Linux

So verwenden Sie den Linux-Kopfbefehl

So verwenden Sie den Linux-diff-Befehl

Wie finde ich den Standard-Dateimanager?

Wie drucke ich die letzte Zeile einer gz-komprimierten Datei in der Befehlszeile?