จะแยกไฟล์ขนาดใหญ่บน Windows ได้อย่างไร?


75

มีเครื่องมือในการแยกไฟล์ข้อความขนาดใหญ่ (9Gb) ออกเป็นไฟล์ที่เล็กลงหรือไม่เพื่อให้ฉันสามารถเปิดดูได้บ้าง

มีสิ่งใดบ้างที่ใช้ได้กับบรรทัดคำสั่งที่มาพร้อมกับ Windows (XP)

หรือวิธีแยกที่ดีที่สุดคืออะไร ฉันสามารถใช้ 7z เพื่อสร้างวอลลุ่มแยกต่างหากจากนั้นแตกซิปอันใดอันหนึ่งออกจากกันได้หรือไม่ มันจะสามารถอ่านได้หรือไม่หรือต้องการส่วนอื่น ๆ ทั้งหมดเพื่อคลายซิปลงในไฟล์ขนาดใหญ่อีกครั้งหรือไม่

ปรับปรุง

ฉันรวมสคริปต์ python 48 บรรทัดอย่างรวดเร็วเข้าด้วยกันซึ่งแบ่งไฟล์ขนาดใหญ่เป็นไฟล์ 0.5GB ซึ่งง่ายต่อการเปิดแม้จะเป็นกลุ่ม ฉันแค่ต้องการตรวจสอบข้อมูลไปยังส่วนสุดท้ายของบันทึก (ใช่เป็นไฟล์บันทึก) แต่ละเร็กคอร์ดถูกแบ่งข้ามหลายบรรทัดดังนั้น grep จะไม่ทำ


ฉันเห็นคุณแก้ไขพูดถึง grep คุณได้ติดตั้ง cygwin หรือ unxutils หรือไม่? คุณสามารถใช้grep -nกับheadและtailเพื่อดูกลุ่มของไฟล์ ตัวอย่างเช่นผลตอบแทนgrep -n "something" file.txt 95625: somethingคุณต้องการที่จะเห็นว่าเส้นและ 9 บรรทัดด้านล่างรวมเป็น 10 head -n 95635 file.txt | tail -n 10คู่สาย:
John T

ฉันสังเกตว่าคุณแก้ไขปัญหาของคุณหากคุณยังอยู่คุณสามารถโพสต์โซลูชันเพื่อให้ผู้อื่นได้รับประโยชน์หรือไม่
Journeyman Geek

สิ่งนี้ได้รับการพูดคุยอย่างละเอียดในStack Overflow [1] [1]: stackoverflow.com/questions/159521/ …

คำตอบ:


43

มีตัวแยกไฟล์ฟรีแวร์ของ Windows ชื่อHJSplit

มีจำหน่ายที่นี่ เว็บไซต์อ้างว่าสามารถแยกไฟล์ประเภทและขนาดใดก็ได้ แต่ 9GB เป็นไฟล์ขนาดใหญ่


1
ตามที่สำนักพิมพ์สนับสนุนการแยกไฟล์ "มากกว่า 100 กิกะไบต์"
yosh m

8
ฉันสามารถใช้โปรแกรมนี้เพื่อแยกไฟล์ขนาดใหญ่เป็นชิ้นเล็ก ๆ แต่โดยขนาดเท่านั้น (kB หรือ MB) มันไม่เกี่ยวกับบรรทัดดังนั้นจึงไม่ค่อยมีประโยชน์สำหรับการแยกไฟล์บันทึก นอกจากนี้ยังช้ามาก
แน่นอน

HJSplit ทำงานได้น่าเกลียดมาก ... มันไม่ทำงานกับไฟล์ 5Gb + ส่วนที่ใหญ่ที่สุดของไฟล์เพิ่งสูญเสียเลย Chunck peases ตอบโต้ nofuses หลังจาก 999 และสิ่งอื่น ๆ ล้มเหลวถ้าใช้ peases ที่ใหญ่กว่า
user2602807

บนระบบ 64 บิตจะทำงานกับ GUI ใน Windows เท่านั้น หากคุณต้องการทำให้สิ่งต่าง ๆ เป็นแบบอัตโนมัตินี่ไม่ใช่วิธีแก้ปัญหา
576i

24

GNU หลัก Utilsแพคเกจ (มีที่นี่สำหรับ Windows) รวมถึงยูทิลิตี้สปลิต มันทำงานได้ดีสำหรับฉัน :-)

เอกสารประกอบ - ช่วยเหลือมีดังนี้:

Usage: split [OPTION] [INPUT [PREFIX]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is `x'.  With no INPUT, or when INPUT
is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
  -a, --suffix-length=N   use suffixes of length N (default 2)
  -b, --bytes=SIZE        put SIZE bytes per output file
  -C, --line-bytes=SIZE   put at most SIZE bytes of lines per output file
  -d, --numeric-suffixes  use numeric suffixes instead of alphabetic
  -l, --lines=NUMBER      put NUMBER lines per output file
      --verbose           print a diagnostic to standard error just
                            before each output file is opened
      --help     display this help and exit
      --version  output version information and exit

SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.

ตัวอย่างเช่นหากต้องการแยก input.txt เป็น 100Mb ให้แยกที่ปลายบรรทัดเท่านั้น

split input.txt -C 100m

จะให้ไฟล์เอาต์พุตชื่อ xaa, xab, xac เป็นต้น


2
ตัวอย่างเช่นการดาวน์โหลด git msys รวมถึงโปรแกรมอรรถประโยชน์
eis

Cmderน่าทึ่งสำหรับสิ่งนี้
Umber Ferrule

15

อีกอย่างคือGSplit - ตามไซต์ของพวกเขามันสามารถแยกไฟล์ขนาดใหญ่มาก (ใหญ่กว่า 4Gb <- เนื่องจากพวกเขามีขีด จำกัด 4Gb ฉันคิดว่าพวกเขาสามารถทำได้ 9 Gb เช่นกัน)

แต่อีกสิ่งหนึ่ง - คุณบอกว่าคุณต้องการแยกมันออกเป็นส่วนเล็ก ๆ เพื่อที่คุณจะสามารถเปิดดูและดูได้ ฟังดูเหมือนไฟล์บันทึกอาจมีขนาดใหญ่มาก

ในกรณีใด ๆ สำหรับการเปิดไฟล์ข้อความขนาดใหญ่ฉันขอแนะนำEmEditor - พวกเขาอ้างตัวเองว่ามันสามารถเปิดไฟล์ที่มีขนาดใหญ่มาก (มากถึง cca. 250 Gb) และฉันเคยใช้มันในอดีตสำหรับไฟล์สูงสุด 2 Gb แต่ในกรณีใด ๆ ฉันคิดว่ามันอาจจะเป็นทางออกที่ดีกว่าการแยก


ฉันเพิ่งลองใช้ GSplit ใช้งานได้แม้ว่าจะมีอินเทอร์เฟซที่สับสน แต่ก็ไม่มีวิธีใดที่จะแยกเฉพาะที่ linebreak - สำหรับการแยกไฟล์ข้อมูล ASCII ดังนั้นจึงไม่มีประโยชน์มากนักเนื่องจากการแบ่งจะเป็นครึ่งทางผ่านบรรทัด
Flyto

1
@ ฟลายถึงจริง ๆ แล้วมันเป็นไปได้ที่จะแยกตามบรรทัดถ้าคุณเลือก "แยกหลังจากหมายเลขการเกิด" ภายใต้Pieces > Type and Sizeเมนู จากนั้นคุณเลือกจำนวนบรรทัดและตัวคั่นบรรทัดในฐานสิบหก โดยค่าเริ่มต้นจะมีรูปแบบ Windows CR + LF ( 0x0D0x0A)
โมฆะ

@Nullability ขอบคุณ - ฉันจะไม่คิดอย่างนั้น แต่ฉันพบวิธีแก้ปัญหาที่ง่ายกว่ามากผ่านยูทิลิตี้ "แยก" ของ GNU - ดูคำตอบใหม่ของฉัน :-)
Flyto

9

ลองดูLarge Text File Viewerมันยอดเยี่ยมสำหรับสิ่งนี้ ผู้จัดเก็บและตัวแยกส่วนใหญ่จะแยกไฟล์ออกเป็นส่วน ๆ ซึ่งไม่สามารถใช้อ่านข้อมูลแต่ละชิ้นได้อย่างอิสระและถูกต้องคุณต้องแยกไฟล์ทั้งหมดเพื่อให้ได้ไฟล์กลับมา

ข้อความแสดงแทน

โปรแกรมดูไฟล์ข้อความขนาดใหญ่นั้นฟรีและพกพาได้


3
ดูเหมือนว่าลิงก์จะใช้งานไม่ได้ซึ่งตอนนี้ใช้งานได้แล้ว: softpedia.com/get/Office-tools/Other-Office-Tools/ …
huseyint

ลิงก์เดิม (หรือแก้ไขแล้ว) กำลังทำงานอยู่ในขณะนี้ ฉันจะใช้ลิงค์นั้นผ่าน softpedia ทุกวัน! นอกจากนี้ลองใช้ LTFViewer และมันยอดเยี่ยมด้วยการเปิดไฟล์ 818MB ที่แม้แต่ Notepad ++ ก็บ่นเกี่ยวกับการเปิด ไม่ค่อยมีทางแก้ไขฟีเจอร์ แต่เมื่อฉันดูบันทึกใน LTFViewer แล้วให้echo. > myfile.txtแก้ไขปัญหาล็อกไฟล์ 818MB: D
Doktor J

LTFViewer นั้นยอดเยี่ยมจริงๆ (ฉันใช้เพื่อ) แต่มีข้อ จำกัด ฉันพยายามเปิดไฟล์ 3GB SQL ด้วย แต่มันค้าง mayby ฉันไม่ได้มีความอดทนพอหรือบางสิ่งบางอย่าง ...
Mathlight

LTFViewer ทำงานได้ดีมากสำหรับฉัน ฉันใช้มันกับไฟล์ที่ค่อนข้างเล็ก (เพียง 750MB แต่มันเปิดในเวลาไม่ถึง 5 วินาที
Mike_OBrien

คุณสามารถดาวน์โหลดได้จากที่เก็บถาวรอินเทอร์เน็ต: web.archive.org/web/20151019115332/http://swiftgear.com
quip

8

หนึ่งสามารถใช้7-Zip เพื่อสร้างส่วนของไฟล์ข้อความในขนาดที่กำหนด (เช่น 100 MB เซ็กเมนต์ออกจากไฟล์บันทึก 1.5 GB)

ตัวเลือกที่สำคัญคือ - ใช้ "ร้านค้า" ตรงข้ามกับ "บีบอัด" - ใช้ "แยกเป็นเล่ม"

คุณควรเห็นข้อความเป็นไฟล์. 001 (.nnn)

ป้อนคำอธิบายรูปภาพที่นี่


ภาพที่แนบมานั้นสมบูรณ์แบบ!
Erik

5

คุณสามารถใช้ 7zip เพื่อแยกไฟล์ (คุณสามารถบันทึกเป็นรูปแบบ. zip หรือ. 7z) เมื่อคุณไปเพื่อสร้างไฟล์เก็บถาวรมีตัวเลือกที่เรียกว่า "Split volume, bytes" เพียงเลือกขนาดที่ต้องการก้อน

และใช่คุณสามารถเปิดเครื่องรูดแยกทีละรายการหากคุณต้องการ

แยกไฟล์ใน 7zip


1

มีเครื่องมือออนไลน์ที่แยกไฟล์ข้อความหากใครต้องการแยกไฟล์อย่างรวดเร็ว http://www.textfilesplitter.com

ใช้งานได้ดีสำหรับฉัน และแยกไฟล์ที่เกี่ยวข้องกับบรรทัดซึ่งเป็นสิ่งที่ฉันกำลังมองหา นอกจากนี้ยังระบุว่าเป็นฝั่งไคลเอ็นต์ HTML5 ทั้งหมดจึงปลอดภัยในการใช้งาน ฉันไม่แน่ใจว่ามันจะใหญ่แค่ไหน แต่ฉันคิดว่ามันขึ้นอยู่กับ ram ของเครื่องของคุณ


4
คุณแนะนำให้อัปโหลดไฟล์ขนาด 9 GB เพื่อแยกไฟล์ในเบราว์เซอร์ของคุณหรือไม่? จริงๆ??
spaghettidba

@spaghettidba: เขาบอกว่าใช้งานฝั่งไคลเอ็นต์ได้โดยใช้ HTML5 หากเป็นเช่นนั้นไม่จำเป็นต้องอัปโหลด ฉันยอมรับว่าฉันมีปฏิกิริยาเช่นเดียวกับคุณเมื่อฉันอ่านคำตอบเป็นครั้งแรก
mwolfe02

0

แนวคิดของการเห็นส่วนหนึ่งของไฟล์ก่อนตัดสินใจว่าจะทำอย่างไรกับมันคือตัวเลือกที่ดีที่สุดสำหรับฉัน

แอพ Large Text Viewerสามารถติดตั้งบน Windows ผ่านทาง Microsoft Store และมีตัวเลือกในการตัดไฟล์ในขนาดที่ จำกัด อาจเป็นไปได้ว่าจะใช้โปรแกรมแก้ไขเดียวกันที่กล่าวถึงก่อนหน้า (หลังฉาก) แต่ตัวเลือกในการติดตั้งจากแหล่งที่รู้จักนั้นดีกว่า IMHO มากกว่าการเชื่อมโยงทางเลือกอื่น ๆ มันใช้งานได้ดีสำหรับฉัน

ปัญหาเดียวหากแยกตามขนาดคือไม่จำเป็นต้องแบ่งไฟล์ในที่ที่ดีดังนั้นคุณอาจต้องแก้ไขเพื่อจับเนื้อหาที่คุณต้องการ


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