คำถามนี้มาถึงฉันสองสามครั้งก่อนตอนนี้ในการตอบสนองต่อคำถาม วนผ่านชิ้นข้อมูลไบนารีจาก stdin ใน คำตอบBashให้ใน/programming/993434/what-language-is-to-binary -as-perl-is-to-textก็ไม่พอใจเช่นกัน
ฉันกำลังมองหาสภาพแวดล้อมการเขียนสคริปต์ที่เหมาะสมโดยเฉพาะเพื่อจัดการ I / O กับไฟล์ไบนารี ฉันรู้ว่าฉันสามารถใช้หนึ่งในภาษาการเขียนโปรแกรมอย่างเต็มรูปแบบ (c / Python / ... ) แต่พวกเขามีการเริ่มต้นและการเข้ารหัสค่าใช้จ่ายมหาศาล (การจัดสรรและ fread / fwrite ใน c, bitstrings ใน Python ... ) ไม่ต้องพูดถึง มันเหมาะสำหรับการเขียนสคริปต์น้อยกว่า (เรียกแอปพลิเคชันอื่นจากมัน) Perl นั้นไม่ได้ดีไปกว่าunpack
ฟังก์ชั่นการใช้งานของสตริง
สิ่งที่ชอบod
แต่เป็นภาษา
สิ่งที่ฉันคาดหวัง:
- ตั้งค่าหรือเปลี่ยน endianness ด้วยสวิตช์ / คำสั่งเดียว
- สเปคที่เรียบง่ายของประเภทร้องขอ (บางอย่างเช่นการขยายทุบตี
read var
ด้วยint32 var
,float var
ฯลฯ ) - การจัดการของไบนารีผ่านท่อข้ามจำนวนไบต์ที่ระบุ
- การควบคุมโฟลว์สคริปต์มาตรฐาน (สำหรับ / if / ... ) ที่เราคุ้นเคย
ฉันต้องการประมวลผลข้อมูลดิบ (การถ่ายภาพข้อมูลทางวิทยาศาสตร์รูปแบบที่ไม่รู้จักและไม่ดี) ด้วยความง่ายและความเข้าใจที่คุณได้รับเมื่อตรวจสอบไฟล์ ASCII ฉันใช้c
อยู่ตอนนี้ แต่มันไม่เหมาะสำหรับการเขียนสคริปต์โฆษณาและไม่สามารถโต้ตอบได้
ไม่มีใครรู้ว่าเครื่องมือเช่นนั้น? ไม่มีซอฟต์แวร์ GUI clicky โปรดต้องทำงานผ่าน ssh จากสคริปต์อื่น ๆ และอื่น ๆ "ไม่มีอยู่" เป็นคำตอบที่ยอมรับได้ แต่เป็นคำตอบที่น่าหดหู่
perl
's unpack
(ᵔᴥᵔ)
chain = ls["-a"] | grep["-v", "\\.py"] | wc["-l"]; chain()
คุณเคยดูหรือไม่?