GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mencetak nilai ASCII (numerik) dari setiap karakter dalam file?

Perintah standar untuk itu adalah od , untuk dump oktal (meskipun dengan opsi, Anda dapat mengubah dari oktal ke desimal atau heksadesimal...):

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

Perhatikan bahwa ini menampilkan nilai byte dari setiap byte dalam file. Ini tidak ada hubungannya dengan ASCII atau rangkaian karakter lainnya.

Jika file berisi A dalam kumpulan karakter tertentu, dan Anda ingin melihat 65, karena itulah byte yang digunakan untuk A di ASCII, maka Anda perlu melakukan:

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

Untuk terlebih dahulu mengonversi file itu ke ascii dan kemudian membuang nilai byte yang sesuai. Misalnya Apple<LF> di EBCDIC-UK adalah 193 151 151 147 133 37 (301 227 227 223 205 045 dalam 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 , atau $YOUR_FAVORITE_LANGUAGE semua bisa melakukan itu.

% 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. Bagaimana saya bisa menghapus baris baru jika itu adalah karakter terakhir dalam file?

  2. Bagaimana cara menambahkan output ke file?

  3. Bagaimana saya bisa menambahkan string ke awal setiap file dalam folder di bash?

  1. Bagaimana cara mengarahkan output dari system() ke file?

  2. Bagaimana saya bisa menambahkan string ke awal setiap baris dalam sebuah file?

  3. Bagaimana cara mencetak baris terakhir dari file terkompresi gz di baris perintah?

  1. Bagaimana cara menambahkan baris baru ke akhir file?

  2. Bagaimana Cara Menghapus N Baris Pertama Dari File Ascii Menggunakan Perintah Shell?

  3. Perintah Linux untuk menampilkan konten file yang diberikan byte demi byte dengan karakter dan representasi numeriknya ditampilkan untuk setiap byte