Tôi có thể yêu xxd
cầu không in bất kỳ ngắt dòng nào trong đầu ra của nó và có kết xuất của tôi dưới dạng một dòng liên tục không?
[user@localhost] : ~ $ echo -n "this is a long line and xxd is going to take multiple lines to print it" | xxd -p
746869732069732061206c6f6e67206c696e6520616e6420787864206973
20676f696e6720746f2074616b65206d756c7469706c65206c696e657320
746f207072696e74206974
Nó phụ thuộc vào những gì bạn cần nó, nhưng một lựa chọn tiện dụng
—
Peter.O
xxd
là nó bỏ qua khoảng trắng để đảo ngược -r
dấu bưu điện / -p
kết xuất đơn giản của nó (hoặc bất kỳ hexdump đơn giản nào cho vấn đề đó). ví dụ. Dòng sau kết hợp với \n
, nhưng đầu ra đảo ngược chính xác là đầu vào: echo {1..14} | xxd -p | xxd -p -r
tạo đầu ra: 1 2 3 4 5 6 7 8 9 10 11 12 13 14\n
- \n
là từecho
Bạn cũng có thể sử dụng
—
dirkt
hexdump -v -e '/1 "%02X"'
thay vì xxd
.
tr
để xóa các dòng mới, ví dụ như... | xxd -p | tr -d \\n