ตอนนี้ฉันมีสองไฟล์:
aaaa.txt:
a=0;
b=1;
c=2;
bbbb.txt:
d=3
e=4
f=5
ฉันต้องการที่จะผสานaaaa.txtและการbbbb.txtcccc.txt
cccc.txt ดังต่อไปนี้:
a=0;d=3
b=1;e=4
c=2;f=5
ดังนั้นฉันจะทำอะไรได้บ้าง
ตอนนี้ฉันมีสองไฟล์:
aaaa.txt:
a=0;
b=1;
c=2;
bbbb.txt:
d=3
e=4
f=5
ฉันต้องการที่จะผสานaaaa.txtและการbbbb.txtcccc.txt
cccc.txt ดังต่อไปนี้:
a=0;d=3
b=1;e=4
c=2;f=5
ดังนั้นฉันจะทำอะไรได้บ้าง
คำตอบ:
คุณสามารถใช้วางสำหรับสิ่งนี้:
paste -d '\0' aaaa.txt bbbb.txt > cccc.txt
จากคำถามของคุณปรากฏว่าไฟล์แรกมี;ในตอนท้าย หากไม่เป็นเช่นนั้นคุณสามารถใช้สิ่งนั้นเป็นตัวคั่นโดยใช้-d ';'แทน
โปรดทราบว่าในทางตรงกันข้ามกับสิ่งที่เราคิดว่า-d '\0'มันไม่ได้ถูกวางด้วยอักขระ NUL เป็นตัวคั่น แต่ใช้ตัวคั่นที่ว่างเปล่า นั่นคือวิธีมาตรฐานในการระบุตัวคั่นที่ว่างเปล่า pasteการใช้งานบางอย่างเช่น GNU pasteอนุญาตให้ทำเช่นpaste -d ''นั้น แต่มันไม่ได้เป็นแบบมาตรฐานหรือแบบพกพา (การใช้งานอื่น ๆ จะรายงานข้อผิดพลาดเกี่ยวกับตัวคั่นที่หายไปหากคุณใช้paste -d '')