คำถามติดแท็ก split


6
วิธีที่ดีที่สุดในการเข้าร่วมไฟล์อีกครั้งหลังจากแยกพวกเขาคืออะไร?
หากฉันมีไฟล์ขนาดใหญ่และจำเป็นต้องแยกเป็น 100 เมกาไบต์ฉันจะทำ split -b 100m myImage.iso ที่มักจะให้อะไรฉันชอบ xaa xab xac xad และเพื่อให้พวกเขากลับมารวมกันฉันได้ใช้ cat x* > myImage.iso ดูเหมือนว่าควรมีวิธีที่มีประสิทธิภาพมากกว่าการอ่านแต่ละบรรทัดของรหัสในกลุ่มของไฟล์ด้วยcatและเปลี่ยนเส้นทางผลลัพธ์ไปยังไฟล์ใหม่ เช่นเดียวกับการเปิดไฟล์สองไฟล์ให้ลบEOFเครื่องหมายออกจากไฟล์แรกและเชื่อมต่อไฟล์เหล่านั้นโดยไม่ต้องผ่านเนื้อหาทั้งหมด Windows / DOS มีคำสั่ง copy สำหรับไฟล์ไบนารี วิธีใช้ระบุว่าคำสั่งนี้ถูกออกแบบมาเพื่อให้สามารถรวมหลายไฟล์ได้ มันทำงานร่วมกับไวยากรณ์นี้: ( /bสำหรับโหมดไบนารี) copy /b file1 + file2 + file3 outputfile มีบางสิ่งที่คล้ายกันหรือเป็นวิธีที่ดีกว่าในการเข้าร่วมไฟล์ขนาดใหญ่บน Linux มากกว่า cat? ปรับปรุง ดูเหมือนว่าcatเป็นวิธีที่ถูกต้องและเป็นวิธีที่ดีที่สุดในการเข้าร่วมไฟล์ ดีใจที่รู้ว่าฉันใช้คำสั่งที่ถูกต้องมาตลอด :) ขอบคุณทุกคนสำหรับความคิดเห็นของคุณ


5
การแยกสตริงโดยการเกิดขึ้นครั้งแรกของตัวคั่น
ฉันมีสตริงในรูปแบบถัดไป id;some text here with possible ; inside และต้องการที่จะแยกมันถึง 2 ;สายโดยเกิดขึ้นครั้งแรกของ ดังนั้นควร: idและsome text here with possible ; inside ฉันรู้วิธีแยกสตริง (ตัวอย่างเช่นด้วยcut -d ';' -f1) แต่มันจะแยกส่วนเพิ่มเติมเนื่องจากฉันมี;อยู่ในส่วนด้านซ้าย

3
แยกไฟล์ทีละบรรทัดและควบคุมส่วนขยายของไฟล์ที่ได้
มีคำสั่งมาตรฐานสำหรับการแยกไฟล์ - แยก ตัวอย่างเช่นหากฉันต้องการแยกไฟล์คำในหลาย ๆ บรรทัดของ 10,000 บรรทัดฉันสามารถใช้: split -dl 10000 words wrd และมันจะสร้างไฟล์หลายไฟล์ในรูปแบบ wrd.01, wrd.02 และอื่น ๆ แต่ฉันต้องการมีส่วนขยายเฉพาะสำหรับไฟล์เหล่านั้น - ตัวอย่างเช่นฉันต้องการรับไฟล์ wtd.01.txt, wrd.02.txt มีวิธีทำหรือไม่?
28 shell  filenames  split 


4
แยกไฟล์ออกเป็นสองไฟล์
ฉันมีไฟล์ขนาดใหญ่และจำเป็นต้องแยกออกเป็นสองไฟล์ สมมติว่าในไฟล์แรก 1,000 บรรทัดควรเลือกและใส่ในไฟล์อื่นและลบบรรทัดเหล่านั้นในไฟล์แรก ฉันลองใช้splitแต่กำลังสร้างหลายชิ้น

15
Bash script: แบ่งคำในแต่ละตัวอักษร
ฉันจะแยกตัวอักษรของคำด้วยตัวอักษรแต่ละตัวในบรรทัดแยกกันได้อย่างไร ตัวอย่างเช่นเมื่อ"StackOver" ฉันต้องการที่จะเห็น S t a c k O v e r ฉันใหม่ในการทุบตีดังนั้นฉันไม่มีเงื่อนงำที่จะเริ่ม

3
แยกไฟล์ข้อความตามนิพจน์ปกติ
ฉันมีไฟล์ข้อความที่ฉันต้องการแยกออกเป็น 64 ส่วนที่ไม่เท่ากันตาม 64 hexagrams ของ Yi Jing เนื่องจากเนื้อเรื่องสำหรับแต่ละแฉกเริ่มต้นด้วยหลักบางจุดระยะเวลาและบรรทัดใหม่สองบรรทัด regex ควรเขียนง่าย แต่ฉันจะแยกไฟล์ข้อความเป็น 64 ไฟล์ใหม่ตาม regex นี้ได้อย่างไร ดูเหมือนว่าเป็นงานที่ต้องทำperlอีกมาก แต่อาจจะมีวิธีที่ชัดเจนกว่าที่ฉันเพิ่งหายไปโดยสิ้นเชิง

5
วิธีแบ่งไฟล์โดยใช้ขอบเขตคำหลัก
ฉันมีไฟล์ vcf ที่มี vcards มากมาย เมื่อนำเข้าไฟล์ vcf ไปยัง outlook ดูเหมือนว่าจะนำเข้า vcard แรกเท่านั้น ดังนั้นฉันต้องการแยกพวกเขาออก ระบุว่า vcard เริ่มต้นด้วย BEGIN:VCARD และจบลงด้วย END:VCARD วิธีที่ดีที่สุดในการแยก vcard แต่ละรายการเป็นไฟล์ของตัวเองคืออะไร ขอบคุณ UPDATE ขอขอบคุณสำหรับการตอบสนองทุก. เช่นเดียวกับคำถามเกี่ยวกับลักษณะนี้มีหลายวิธีในการดูแลแมว นี่คือเหตุผลที่ฉันเลือกสิ่งที่ฉันทำ ROUND-UP นี่คือบทสรุปของสิ่งที่ฉันชอบจากแต่ละคำตอบและสิ่งที่ทำให้ฉันเลือกหนึ่งในนั้น csplit: ฉันชอบความกระชับของวิธีนี้จริงๆ ฉันแค่หวังว่ามันจะสามารถตั้งค่านามสกุลไฟล์ gawk: ทำทุกอย่างที่ฉันถาม paralell: ทำงานแล้ว แต่ฉันต้องติดตั้งสิ่งใหม่ ๆ (มันก็ตัดสินใจที่จะสร้างใหม่ / bin dir ใน dir บ้านของฉัน) perl: ฉันชอบที่มันสร้าง vcf ตามชื่อของผู้ติดต่อ แต่ตัวเลือก …
15 files  split 


6
แบ่งไฟล์ออกเป็นสองส่วนในรูปแบบ
จะแบ่งไฟล์ขนาดใหญ่ออกเป็นสองส่วนได้อย่างไรในรูปแบบ รับตัวอย่างfile.txt: ABC EFG XYZ HIJ KNL ฉันต้องการที่จะแยกไฟล์นี้ที่XYZดังกล่าวว่าfile1มีเส้นขึ้นไปและส่วนที่เหลือของสายในXYZfile2

4
แยกข้อมูลจากไฟล์และวางในไฟล์ที่แตกต่างกันตามค่าของคอลัมน์หนึ่งคอลัมน์
เราจะสร้างไฟล์ csv โดยมีค่าต่ำกว่า yp1234,577,1,3 yp5678,577,3,5 yp9012,132,8,9 ฉันต้องการแยกข้อมูลและสร้างไฟล์ตามคอลัมน์ที่สอง หากเป็น 577 จะต้องแยกทั้งบรรทัดและวางในไฟล์แยกต่างหาก ฉันหมายถึงฉันต้องการไฟล์ที่มีบรรทัดที่มีคอลัมน์ที่สองเป็น 577 อยู่คนเดียวและอีกไฟล์ที่มีคอลัมน์ที่สองเป็น 132 คนเดียว ฉันลองใช้ IF แต่ไม่ได้ผล
14 csv  split 

3
แยกไฟล์ออกเป็นไฟล์ย่อย ๆ หลาย ๆ ไฟล์แยกกันด้วยสัญลักษณ์ขึ้นบรรทัดใหม่
มียูทิลิตี้ที่แยกไฟล์ด้วยสัญลักษณ์ขึ้นบรรทัดใหม่หรือไม่? เช่นถ้าไฟล์มีบรรทัดต่อไปนี้ aa bbb cccc หากฉันต้องการแยกเป็น 3 ไฟล์ผลลัพธ์ที่ต้องการจะเป็น: aa, bbbและcccc(3 ไฟล์ที่แตกต่างกัน) ฉันตรวจสอบsplitคำสั่งแล้วมันตัดเฉพาะไฟล์ตามขนาดไฟล์ไม่ใช่สิ่งที่ฉันต้องการ หากฉันไม่ได้เขียนโปรแกรมอรรถประโยชน์ด้วยตนเองมีเครื่องมือมาตรฐานที่จะใช้หรือไม่?

9
กระจาย stdin ไปยังกระบวนการแบบขนาน
ฉันมีงานที่ประมวลผลรายการไฟล์ใน stdin เวลาเริ่มต้นของโปรแกรมมีความสำคัญและระยะเวลาที่แต่ละไฟล์ใช้กันอย่างกว้างขวาง ฉันต้องการที่จะวางไข่เป็นจำนวนมากในกระบวนการเหล่านี้จากนั้นส่งงานไปยังที่ใดก็ตามที่ไม่ยุ่ง มีเครื่องมือ commandline ที่แตกต่างกันหลายอย่างที่เกือบจะทำในสิ่งที่ฉันต้องการฉัน จำกัด ให้เหลือสองตัวเลือกที่ใช้งานได้ find . -type f | split -n r/24 -u --filter="myjob" find . -type f | parallel --pipe -u -l 1 myjob ปัญหาก็คือsplitการปัดเศษบริสุทธิ์ดังนั้นหนึ่งในกระบวนการที่ได้รับข้างหลังและอยู่ข้างหลังล่าช้าการดำเนินการทั้งหมดเสร็จสมบูรณ์; ในขณะที่parallelต้องการวางไข่หนึ่งกระบวนการต่อ N บรรทัดหรือไบต์ของอินพุตและฉันปิดท้ายการใช้จ่ายเวลามากเกินไปในการเริ่มต้นค่าใช้จ่าย มีบางอย่างเช่นนี้ที่จะใช้กระบวนการและฟีดบรรทัดไปยังกระบวนการใดก็ตามที่มี stdins ที่ไม่ถูกบล็อก

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