Câu hỏi này đã đến với tôi một vài lần trước đây, bây giờ để trả lời câu hỏi Lặp qua các đoạn dữ liệu nhị phân từ stdin trong Bash Câu trả lời được đưa ra trong /programming/993434/what-lingu-is-to-binary -as-perl-is-to-text cũng không thỏa đáng.
Tôi đang tìm kiếm một môi trường tập lệnh phù hợp đặc biệt để xử lý I / O với các tệp nhị phân. Tôi biết rằng tôi có thể sử dụng một trong những ngôn ngữ lập trình chính thức (c / Python / ...) nhưng chúng có khả năng khởi tạo và mã hóa rất lớn (cấp phát và fread / fwrite trong c, bitstrings trong Python ...) không đề cập đến chúng không phù hợp để viết kịch bản (gọi các ứng dụng khác từ nó). Perl không tốt hơn với các unpack
chức năng của nó , hoạt động theo định hướng chuỗi và cú pháp ngớ ngẩn.
Một cái gì đó như od
, nhưng như một ngôn ngữ.
Những gì tôi mong đợi:
- thiết lập hoặc thay đổi tuổi thọ với một công tắc / lệnh duy nhất.
- đặc điểm kỹ thuật đơn giản của loại được yêu cầu (một cái gì đó như mở rộng bash
read var
vớiint32 var
,float var
v.v.). - xử lý nhị phân thông qua các đường ống, bỏ qua số byte được chỉ định.
- điều khiển luồng kịch bản tiêu chuẩn (cho / if / ...) mà chúng ta đã quen.
Tôi muốn xử lý dữ liệu thô (chụp ảnh, dữ liệu khoa học, các định dạng tài liệu kém và không rõ ràng) với cùng một cách dễ dàng và hiểu biết mà bạn có được khi kiểm tra các tệp ASCII. Hiện tôi đang sử dụng c
, nhưng nó không tối ưu cho kịch bản đặc biệt và không thể tương tác.
Có ai biết một công cụ như vậy không? Không có phần mềm GUI clicky, xin vui lòng, nó cần phải hoạt động trên ssh, từ các tập lệnh khác, v.v. "Không tồn tại" là một câu trả lời chấp nhận được, nhưng buồn.
perl
's unpack
(ᵔᴥᵔ)
chain = ls["-a"] | grep["-v", "\\.py"] | wc["-l"]; chain()
Bạn đã xem xét điều đó chưa?