11. join și split

Comanda join (unește) vă permite să uniți mai multe fișiere împreună cu ajutorul unui câmp text comun:

Sa spunem că am două fișiere pe care vreau să le unesc:

fisier1.txt
1 Radu
2 Ioana
3 Maria

fisier2.txt
1 Popescu
2 Popescu
3 Ionescu

$ join fisier1.txt fisier2.txt
1 Radu Popescu
2 Ioana Popescu
3 Maria Ionescu

Observați cum am unit fișierele? Acestea sunt unite împreună cu ajutorul primului câmp text în mod implicit, iar câmpurile trebuie să fie identice. Dacă nu sunt va trebui să le sortați, astfel în cazul de față acestea sunt unite prin 1, 2, 3.

Dar cum am putea oare uni următoarele fișiere?

fisier1.txt
Radu 1
Ioana 2
Maria 3

fisier2.tx
1 Popescu
2 Popescu
3 Ionescu

Pentru a uni acest fișier va trebui sa specificați pe care dintre câmpuri le uniți, în acest caz dorim câmpul 2 din fisier1.txt și câmpul 1 din fisier2.txt. Astfel, comanda va arata așa:

$ join -1 2 -2 1 fisier1.txt fisier2.txt

1 Radu Popescu
2 Ioana Popescu
3 Maria Ionescu

-1 se referă la fisier1.txt și -2 se referă la fisier2.txt. Destul de tare, nu-i așa? Puteți sa și separați un fișier în mai multe fișiere diferite cu ajutorul comenzii split (desparte):

$ split un_fisier

Astfel se va separa în mai multe fișiere diferite. Implicit vor fi separate când se atinge limita de 1000 de rânduri. Fișierele sunt denumite implicit x**.


Exerciții

Uniți două fișiere cu numere diferite de rânduri în fiecare fișier și vedeți ce se întâmplă?


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.