บังคับให้น้อยลงเพื่อแสดงไฟล์เป็นข้อความ


14

บางครั้งรู้จักไฟล์ที่ผิดพลาดน้อยกว่าเป็นเลขฐานสองและพยายามแสดง hexdump บน LHS (โดยปกติแล้วไฟล์ที่มีอักขระที่ไม่ใช่ตัวอักษรและตัวเลข แต่ยังคงมีอักขระ ASCII ที่พิมพ์ได้) จะบังคับให้จดจำเป็นข้อความได้อย่างไร?


กำลังมองหาคำตอบอื่น ฉันมีไฟล์บันทึกที่cat somefileแสดงเป็น ASCII แต่less somefileบอกว่าอาจเป็นแบบไบนารีและแสดงเช่นนั้น echo $LESSOPENว่างเปล่าและless -Lไม่ช่วย
Nathan Long

2
@NathanLong สิ่งนี้อาจเป็นที่ยอมรับได้ในการเปิดคำถามใหม่เนื่องจากวิธีการแก้ปัญหาที่นี่ไม่สามารถแก้ปัญหาของคุณได้ (โปรดอย่าลืมว่า) อย่างไรก็ตามเมื่อคุณพูดว่า "อาจเป็นเลขฐานสองและแสดงผลเช่นนี้" คุณกำลังบอกว่ามันแสดงเลขฐานสิบหกของข้อมูลหรือคุณเห็นข้อมูลไบนารีดิบ (เป็นสัญลักษณ์แปลก ๆ และเช่นนั้น)?
Patrick

LHS คืออะไร มันใหม่สำหรับฉัน
dfc

1
@dfc ด้านซ้ายมือ
Maciej Piechotka

คำตอบ:


19

ฉันคิดว่าคุณมี (หรือการกระจายของคุณมีบริการ) ตัวกรองการตั้งค่าสำหรับLESSOPEN lessลองใช้วิธีต่อไปนี้เพื่อบอกlessให้ไม่ใช้ตัวกรอง:

less -L my_binary_file

echo $LESSOPENสำหรับการสำรวจต่อไปยังพยายาม มันอาจมีชื่อของเชลล์สคริปต์ ( /usr/bin/lesspipeสำหรับฉัน) ซึ่งคุณสามารถอ่านเพื่อดูว่ามีตัวกรองประเภทใด นอกจากนี้ยังพยายามman lessและอ่านอินพุต Preprocessorส่วน


4

สำหรับกรณีที่LESSOPENไม่มีปัญหา ลองใช้lessตัวเลือกต่อไปนี้:

  1. -fหรือ--force: นอกเหนือจากการอนุญาตให้เปิดไฟล์ที่ไม่ปกติมัน "ยังระงับข้อความเตือนเมื่อเปิดไฟล์ไบนารี"
  2. -rหรือ--raw-control-chars: "ทำให้อักขระควบคุมแบบดิบปรากฏขึ้นค่าเริ่มต้นคือแสดงอักขระควบคุมโดยใช้เครื่องหมายรูปหมวกตัวอย่างเช่นตัวควบคุม A (แปดฐาน 001) แสดงเป็น^Aคำเตือน: เมื่อใช้-rตัวเลือกจะไม่สามารถติดตามได้น้อย ของลักษณะที่ปรากฏจริงของหน้าจอ (เนื่องจากสิ่งนี้ขึ้นอยู่กับวิธีที่หน้าจอตอบสนองต่ออักขระควบคุมแต่ละประเภท) ดังนั้นปัญหาการแสดงผลที่หลากหลายอาจส่งผลให้เกิดปัญหาเช่นเส้นยาวถูกแยกในตำแหน่งที่ไม่ถูกต้อง
  3. -Rหรือ--RAW-CONTROL-CHARS: รูปแบบที่อ่อนแอ-rกว่าด้านบนมีเพียงเอาท์พุต "ANSI" สี "เท่านั้นที่จะถูกส่งออกในรูปแบบ" ดิบ " "ไม่เหมือน -r ลักษณะที่ปรากฏบนหน้าจอจะได้รับการบำรุงรักษาอย่างถูกต้องในกรณีส่วนใหญ่" สิ่งนี้มีประโยชน์หากคุณกำลังดูไฟล์บันทึกที่ใช้ลำดับการควบคุมสี ANSI

คุณสามารถทดลองโดยการกดปุ่ม-ตามด้วยrโดยไม่ต้อง lessrerunning คุณสามารถเพิ่มตัวเลือกเหล่านี้ให้กับLESSตัวแปรสภาพแวดล้อมเพื่อทำให้การตั้งค่าเป็นแบบถาวร (เช่นโดยการแก้ไขไฟล์โปรไฟล์เชลล์) หากเทอร์มินัลของคุณสามารถแสดงสีผมขอแนะนำให้เพิ่ม-RในLESSการตั้งค่าของคุณ คุณควรตรวจสอบให้แน่ใจว่าเทอร์มินัลของคุณได้รับการกำหนดค่าให้ใช้การเข้ารหัสอักขระเดียวกับไฟล์ข้อความของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.