head and cat ไม่รู้จักไฟล์ข้อความ Microsoft Excel


1

ฉันมีไฟล์. xls ขนาดใหญ่ที่มี 53760 แถวและ 19 คอลัมน์ ฉันบันทึกเป็น Tab Delimited Text เพื่อประมวลผลล่วงหน้าผ่านเครื่องมือบรรทัดคำสั่งและโหลดลงใน R ในภายหลัง อย่างไรก็ตามเมื่อฉันวิ่ง

head myfile.txt

เทอร์มินัลของฉันแสดงทุกบรรทัดพร้อมกัน

cat myfile.txt

คำสั่งควรจะทำ แต่ถ้าฉันวิ่ง

cat myfile.txt | wc -l

คำตอบที่ฉันได้รับคือ 0 น่าสนใจยิ่งขึ้น R สามารถอ่านข้อมูลของฉันได้โดยไม่ต้องใช้ชุดโปรแกรมเสริมใด ๆ และระบุแถวทั้งหมด 53760 และ 19 คอลัมน์ ฉันคิดว่ามันเป็นปัญหาของ Excel แต่ฉันไม่สามารถเข้าใจได้ว่ามันคืออะไร

ฉันใช้ Mac OS 10.9.1, Microsoft Excel สำหรับ Mac 2011, ทุบตี 4.2 และ iTerm 2 1.0.0.20130622


2
IIRC จากนั้นทั้ง head และ wc จะนับจำนวนบรรทัดและต้องการ marker marker ที่ท้ายบรรทัด เครื่องหมายนั้นมีความแตกต่างอย่างน่าเศร้าสำหรับระบบที่แตกต่างกัน (เช่น unix, windows และ thge Apple OS รุ่นเก่า (รุ่นก่อน OS X) ใช้ \ 10, \ 10 \ 13 และ \ 13 เป็นรหัส (ขึ้นบรรทัดใหม่และกลับมาผสมกัน) คุณสามารถตรวจสอบว่า อยู่ในไฟล์ของคุณหรือไม่
Hennes

คำแนะนำของคุณสมเหตุสมผลแล้ว ฉันเปลี่ยนจาก Excel เป็น LibreOffice ส่งออกไฟล์ของฉันเป็น. csv และตอนนี้ทำงานได้แล้ว ขอบคุณ!
Marcus Nunes

คำตอบ:


0

บน Linux และ Mac OS ให้ไปที่ vi ดำเนินการทดแทนต่อไปนี้และบันทึกไฟล์อีกครั้งและควรใช้กับคุณ

$ vi myfile.txt
:%s/^V^M/^V^M/g
:wq

โดยที่ ^ V ^ M หมายถึงพิมพ์ Ctrl + V จากนั้นกด Ctrl + M และยุติแต่ละบรรทัดด้วยการส่งคืน

สิ่งนี้ควรใส่อักขระตัวคั่นบรรทัด UNIX ปกติที่ส่วนท้ายของบรรทัดค่าที่คั่นด้วยเครื่องหมายจุลภาคของ Excel คุณสามารถสร้างสคริปต์ vi เพื่อทำให้เป็นอัตโนมัติถ้าคุณทำมันมากแล้วเรียกสคริปต์ vi นั้นจากสคริปต์ทุบตีและซ่อนระบบทั้งหมดนี้ไม่ลงรอยกันและเรียกมันว่า dos2unix :-)

หากต้องการสร้างสคริปต์ vim ใน dos2unix.vim ให้ทำดังนี้:

  1. สร้างสคริปต์โดย

    $ vi -w dos2unix.vim myfile.txt

  2. พิมพ์ลำดับ 3 บรรทัดอย่างระมัดระวังตามที่กล่าวไว้ข้างต้น

  3. ตอนนี้ใช้ scrip กับไฟล์ใดก็ได้ด้วย

    $ vi -s dos2unix.vim anyfile.txt

และการห่อนั้นทั้งหมดในสคริปต์ทุบตีหรือแม้แต่นามแฝงในขณะนั้นขึ้นอยู่กับคุณ

alias dos2unix='vi -s ~/.vimscripts/dos2unix.vim '

เพื่อให้สามารถทำเหมือนมันสร้างขึ้นเพราะตอนนี้มันจะเป็น - เพียงแค่สร้างโฟลเดอร์ที่เรียกว่า ~ / .vimscripts และวางไฟล์สคริปต์ที่สร้างไว้ด้านบน

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