ฉันมีขนาดไฟล์ไม่เกิน> 1 GB ต่อไฟล์ ฉันต้องการลบสองสามไบต์สุดท้ายออกจากไฟล์ ฉันจะทำมันได้อย่างไร ฉันชอบที่จะแก้ไขไฟล์เพื่อประหยัดพื้นที่ดิสก์
ฉันใช้ HP-UX
ฉันมีขนาดไฟล์ไม่เกิน> 1 GB ต่อไฟล์ ฉันต้องการลบสองสามไบต์สุดท้ายออกจากไฟล์ ฉันจะทำมันได้อย่างไร ฉันชอบที่จะแก้ไขไฟล์เพื่อประหยัดพื้นที่ดิสก์
ฉันใช้ HP-UX
คำตอบ:
ลองใช้hexeditฉันไม่ได้ลองใช้กับ HP-UX แต่มันน่าจะใช้ได้ ช่วยให้คุณย้ายไปยังตำแหน่งในไฟล์และตัดทอน ฉันค่อนข้างแน่ใจว่ามันไม่ได้อ่านไฟล์ทั้งหมด แต่เพียงแค่ค้นหาตำแหน่งที่เหมาะสมสำหรับการแสดงผล
การใช้งานค่อนข้างง่ายเมื่อคุณเปิดใช้งานแล้วปุ่มลูกศรให้คุณเลื่อนไปรอบ ๆ F1 ให้ความช่วยเหลือ Ctrl-G ย้ายไปยังตำแหน่งในไฟล์ (คำแนะนำ: เพื่อเลื่อนไปยังปลายทางใช้ขนาดของไฟล์จากแถวด้านล่างของจอแสดงผล) วางเคอร์เซอร์บนไบต์แรกที่คุณต้องการตัดทอนแล้วกด Escape T เมื่อคุณยืนยันว่าการตัดทอนจะเสร็จสิ้น ออกจาก Ctrl-x
ตัด 2 กิโลไบต์จากจุดสิ้นสุดไฟล์:
truncate -s-2K file
คุณสามารถใช้ dd ตัวอย่างเช่น:
dd if=yourfile of=outname bs=4k count=thefirstX4kb
ใช้เครื่องมือที่ช่วยให้คุณเข้าถึงการtruncate
โทรของระบบ คุณสามารถทำได้ด้วยเครื่องมือ POSIX เท่านั้น คำเตือนพิมพ์ลงในเบราว์เซอร์ ระมัดระวังโดยเฉพาะอย่างยิ่งเช่นเดียวกับการdd
ให้อภัยข้อผิดพลาดมากกว่าคำสั่ง unix ปกติ 123456 คือจำนวนไบต์ที่จะเก็บ
dd if=/dev/null of=/file/to/truncate seek=1 bs=123456
รุ่น Perl สามารถอ่านได้มากขึ้น:
perl -e 'truncate "$ARGV[0]", 123456 or die $!' /file/to/truncate
คุณสามารถใช้split
หรือed
, awk
หรือภาษาเขียนโปรแกรมใด ๆ
vim
มีขีด จำกัด 4G (อาจผิด) แต่ฉันไม่คิดว่ามันจะเข้าแทนที่ (อาจผิด)