2016-04-28 62 views
1

我正在統計整個目錄的文件和目錄名稱的字符數。如何使用hexdump同時顯示不同演示文稿中的字符

find . -printf "%f/n" | sed 's/./&\n/g' | sort | uniq -c 

輸出:

 234 _ 
    162/
    341 . 
    342 0 
    156 1 
    217 2 
    99 3 
    ... 

但我也需要十進制,十六進制並在找到的字符的同時正常表示的列表:

實施例:

066 0x42 'A' 
... 
090 0x5A 'Z'

我試過hexdump帶di不同的格式選項,但這不適合我。

可以用hexdump完成嗎?

回答

0

可以用hexdump來完成嗎?

是:

find . -printf "%f/n" | 
hexdump -v -e '/1 "%03d "' -e '/1 "0x%02X "' -e '/1 "%c\n"' 

見的例子在hexdump手冊頁的末尾。

1

這是你的答案後,我的實現:

find . -printf "%f\n" | sed "s/./&\n/g" | sort | uniq | tr -d '\n' | hexdump -v -e '/1 "%03d "' -e '/1 "0x%02X "' -e '/1 "<%c>\n"' 

輸出:

060 0x3C <<> 
062 0x3E <>> 
058 0x3A <:> 
063 0x3F <?> 
046 0x2E <.> 
097 0x61 <a> 
098 0x62 <b> 
099 0x63 <c> 
100 0x64 <d> 
101 0x65 <e> 
069 0x45 <E> 
102 0x66 <f> 
104 0x68 <h> 
072 0x48 <H> 
105 0x69 <i> 
108 0x6C <l> 
109 0x6D <m> 
110 0x6E <n> 
078 0x4E <N> 
111 0x6F <o> 
195 0xC3 <�> 
182 0xB6 <�> 
... 
+0

對不起,已經錯過了,你只想要獨特的字符。順便說一句,你可以使用'sort -u'而不是'sort | uniq'。 – Dummy00001

+0

糟糕。我的答案中的另一個錯誤(將在一分鐘內編輯):在第一列中,我打印八進制('%03o')而不是十進制('%03d')。 – Dummy00001

+0

好的 - 謝謝。 – ebart