[英]xxd output only the binary
使用命令:
xxd -b some_text
將輸出二進制表示形式和原始文本:
000054c: 11101111 10100001 10110110 00010000 01011011 10000110 ....[.
0000552: 01111000 11001000 01010101 11000101 11101111 10101111 x.U...
0000558: 10010111 11101010 00011001 01010100 10101010 10001110 ...T..
如何使實用程序僅輸出二進制文件而沒有其他內容?
該組合未在其手冊頁中列出。 但是,您可以使用awk / sed / perl(您的選擇)過濾結果。 對於給定的示例,sed就足夠了:
xxd -b some_text | sed -e 's/^[^:]*:[[:space:]][[:space:]]*//' -e 's/[[:space:]][[:space:]]*.\{6,6\}$//'
那是:
在第一個“ -e”選項中,通過第一個“:”和空格將所有內容刪除。
在第二個“ -e”選項中,至少以一個空格開頭
您可以將“ [[:: space:]] [[:: space:]] *”完全替換為要匹配的空格數,但是,雖然更冗長,但字符類也更強大。
或者(由於空白是awk中的默認字段分隔符),因此可以通過awk傳遞:
xxd -b some_text | awk '{ printf "%s %s %s %s %s %s\n", $2, $3, $4, $5, $6, $7 }'
雖然通常我會使用最簡單的工具。
如果您只想要二進制文件,而不是偏移量,則可以擴展Thomas Dickey的sed
襯套來去除偏移量:
xxd -b some_text | sed -e 's/^.*: //; s/[[:space:]][[:space:]]*.\{6,6\}$//'
“ xxd”不使用“ some_text”作為輸入,而是“ infile”。
使用“ cut”命令打印6個字段(2至7)的答案更簡短:
xxd -b some_file | cut -d\ -f2-7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.