Karşılık gelen satırda iki dosya nasıl birleştirilir?


9

Şimdi iki dosyam var:

aaaa.txt:

a=0;
b=1;
c=2;

bbbb.txt:

d=3
e=4
f=5

Ben birleştirmek istediğiniz aaaa.txtve bbbb.txthiç cccc.txt.

cccc.txt aşağıdaki gibi:

a=0;d=3
b=1;e=4
c=2;f=5

Peki bunun için ne yapabilirim?

Yanıtlar:


13

Bunun için macun kullanabilirsiniz:

paste -d '\0' aaaa.txt bbbb.txt > cccc.txt

Sorunuzdan, ilk dosyanın ;sonunda olduğu anlaşılıyor . Değilse, -d ';'bunun yerine bunu sınırlayıcı olarak kullanabilirsiniz .

Bir kişinin düşünebileceğinin aksine -d '\0', sınırlayıcı olarak bir NUL karakteriyle değil, boş bir sınırlayıcıyla yapıştırdığını unutmayın. Boş bir ayırıcı belirtmenin standart yolu budur. pasteGNU gibi bazı uygulamalar buna pasteizin verir paste -d '', ancak standart veya taşınabilir değildir (diğer birçok uygulama, kullanırsanız eksik sınırlayıcı hakkında bir hata bildirir paste -d '').


@ Chris Down - Çok teşekkür ederim, çalışıyor. Bu arada başka bir soru: awk '{sed' s /.*,/ 999 / g '}' cccc.txt neden awk döndürüyor: {sed s /.* , / 999 / g} awk: ^ sözdizimi hatası. Bunun nesi var?
binghenzq

Ne yapmaya çalıştığından tam olarak emin değilim, ama sadece böyle bir iş için sed'i geçemezsin ...
Chris Down

@ Chris Down - Thans, anladım.
binghenzq

Lütfen ayrı sorular ve ayrı sorular sorun. Daha sonraki kullanıcılar için kullanışlı hale getirir (bulmak mümkün!).
vonbrand
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.