การรวมสองไฟล์จากบรรทัดคำสั่งในสภาพแวดล้อม Linux


5

ฉันกำลังมองหาวิธีแก้ไขปัญหาง่ายๆดังต่อไปนี้ ฉันมีสองไฟล์ fileA และ fileB. แต่ละไฟล์มีเพียงหนึ่งคำต่อบรรทัดและมีจำนวนบรรทัดเท่ากันทุกประการ

ฉันต้องการสร้างไฟล์ใหม่ที่เรียกว่า fileABโดยที่บรรทัด i-th มีบรรทัด i-th ของ fileA, อักขระตัวคั่นแท็บและจากนั้นบรรทัด i-th ของ fileB. ฉันรู้วิธีที่จะทำใน Python หรือภาษาสคริปต์อื่น ๆ แต่มันจะดีถ้ามี bash one-liner สำหรับเรื่องนั้น

เป็นไปได้ไหมที่จะทำเช่นนี้ใน bash หรือ Unix shell อื่น ๆ โดยใช้เครื่องมือที่มักจะมีอยู่ในบรรทัดคำสั่ง (เช่น sed, awk และเช่น)?


แน่นอนว่าคำตอบของอิกนาชิโอนั้นยอดเยี่ยมมาก คือ มีอยู่ในบรรทัดคำสั่งและโดยหลักการแล้วจะมี "หนึ่งซับ" น้อยกว่า sed หรือ paste
CarlF

คำตอบ:



0

parallel --xapply -j1 -a file_1 -a file_2 echo {} > file_12

หรือสไตล์ทางเลือก

parallel --xapply -k echo :::: file_1 :::: file2 > file_12

ไฟล์ที่สั้นกว่าจะล้อมบรรทัดเพื่อให้ตรงกับความยาวของไฟล์อีกต่อไป (หากคุณต้องการพฤติกรรมนี้)

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