ตอนนี้ฉันมีสองไฟล์:
aaaa.txt
:
a=0;
b=1;
c=2;
bbbb.txt
:
d=3
e=4
f=5
ฉันต้องการที่จะผสานaaaa.txt
และการbbbb.txt
cccc.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.txt
cccc.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 ''
)