Kā izmantot pievienošanās komandu operētājsistēmā Linux

Termināļa uzvedne, kas ir gatava komandai Linux sistēmā.

Fatmawati Achmad Zaenuri/Shutterstock



Ja vēlaties sapludināt datus no diviem teksta failiem, saskaņojot kopējo lauku, varat izmantot Linux |_+_| komandu. Tas jūsu statiskajiem datu failiem piešķir dinamismu. Mēs jums parādīsim, kā to izmantot.

Datu saskaņošana starp failiem

Dati ir karalis. Tajā darbojas gan korporācijas, gan uzņēmumi, gan mājsaimniecības. Taču dati, kas glabājas dažādos failos un ko apkopojuši dažādi cilvēki, ir sāpīgi. Papildus tam, ka ir jāzina, kurus failus atvērt, lai atrastu vajadzīgo informāciju, failu izkārtojums un formāts, iespējams, var atšķirties.





Jums ir arī jārisina administratīvās galvassāpes par to, kuri faili ir jāatjaunina, kuri ir jādublē, kuri ir mantoti un kurus var arhivēt.

Turklāt, ja jums ir nepieciešams konsolidēt savus datus vai veikt kādu analīzi par visu datu kopu, jums ir papildu problēma. Kā racionalizēt datus dažādos failos, pirms varat ar tiem darīt nepieciešamo? Kā tuvojaties datu sagatavošanas fāzei?



Labās ziņas ir tādas, ja failiem ir vismaz viens kopīgs datu elements — Linux |_+_| komanda var izvilkt no purva.

Datu faili

Visi dati, ko izmantosim, lai demonstrētu |_+_| izmantošanu komanda ir izdomāta, sākot ar šādiem diviem failiem:

join join



Šis ir |_+_| saturs:

joinReklāma

Mums ir numurētu rindu komplekts, un katrā rindā ir visa šāda informācija:

    Skaitlis Vārds Uzvārds E-pasta adrese Personas dzimums IP adrese

Šis ir |_+_| saturs:

file-1.txt

Katra rinda |_+_| satur šādu informāciju:

    Skaitlis Uzvārds E-pasta adrese Personas dzimums Ņujorkas reģions Dolāra vērtība

|_+_| komanda darbojas ar laukiem, kas šajā kontekstā nozīmē teksta sadaļu, ko ieskauj atstarpes, rindas sākums vai rindas beigas. Par |_+_| lai saskaņotu rindas starp diviem failiem, katrā rindā ir jābūt kopējam laukam.

Tāpēc mēs varam saskaņot lauku tikai tad, ja tas parādās abos failos. IP adrese parādās tikai vienā failā, tāpēc tas nav labi. Pirmais vārds parādās tikai vienā failā, tāpēc arī to nevaram izmantot. Uzvārds ir abos failos, taču tā būtu slikta izvēle, jo dažādiem cilvēkiem ir vienāds uzvārds.

Jūs nevarat arī saistīt datus ar vīriešu un sieviešu ierakstiem, jo ​​tie ir pārāk neskaidri. Arī Ņujorkas reģioni un dolāra vērtības parādās tikai vienā failā.

Tomēr mēs varam izmantot e-pasta adresi, jo tā ir abos failos, un katrs no tiem ir individuāls. Ātra failu apskate arī apstiprina, ka katras rindas atbilst vienai un tai pašai personai, tāpēc mēs varam izmantot rindu numurus kā mūsu lauku, lai tie atbilstu (vēlāk izmantosim citu lauku).

Reklāma

Ņemiet vērā, ka abos failos ir atšķirīgs lauku skaits, un tas ir labi — mēs varam noteikt |_+_| kuru lauku izmantot no katra faila.

Tomēr uzmanieties no tādiem laukiem kā Ņujorkas reģioni; ar atstarpi atdalītā failā katrs vārds reģiona nosaukumā izskatās kā lauks. Tā kā dažiem reģioniem ir divu vai trīs vārdu nosaukumi, vienā failā faktiski ir atšķirīgs lauku skaits. Tas ir pareizi, ja vien jūs atbilstat laukiem, kas parādās rindā pirms Ņujorkas reģioniem.

Pievienošanās komanda

Pirmkārt, ir jāsakārto lauks, kuram plānojat atbilstību. Abos failos ir augoši skaitļi, tāpēc mēs atbilstam šiem kritērijiem. Pēc noklusējuma |_+_| izmanto pirmo lauku failā, ko mēs vēlamies. Vēl viena saprātīga noklusējuma vērtība ir |_+_| sagaida, ka lauku atdalītāji ir atstarpes. Atkal, mums tas ir izdevies, lai mēs varētu turpināt un iedarbināt |_+_|.

Tā kā mēs izmantojam visus noklusējuma iestatījumus, mūsu komanda ir vienkārša:

file-2.txt

|_+_| uzskata failus par pirmo failu un otro failu atbilstoši secībai, kādā tie ir norādīti komandrindā.

Izvade ir šāda:

file-2.txt

Izvade tiek formatēta šādi: Vispirms tiek izdrukāts lauks, kurā tika saskaņotas rindas, pēc tam pārējie lauki no pirmā faila un pēc tam lauki no otrā faila bez atbilstības lauka.

Nešķirotie lauki

Izmēģināsim kaut ko tādu, par ko mēs zinām, ka tas nedarbosies. Mēs liksim rindas vienā failā nevietā, tāpēc |_+_| nevarēs pareizi apstrādāt failu. |_+_| saturs ir tādi paši kā |_+_|, bet astotā rinda atrodas starp piekto un sesto rindiņu.

Šis ir |_+_| saturs:

joinReklāma

Mēs ierakstām šādu komandu, lai mēģinātu pievienoties |_+_|uz |_+_|:

join

|_+_| ziņo, ka septītā rinda |_+_| nav kārtībā, tāpēc tas netiek apstrādāts. Septītā rinda ir tā, kas sākas ar skaitli seši, kam pareizi sakārtotā sarakstā jābūt pirms astoņiem. Sestā rindiņa failā (kas sākas ar 8 Odell) bija pēdējā apstrādātā, tāpēc mēs redzam tās izvadi.

Varat izmantot |_+_| opciju, ja vēlaties redzēt, vai |_+_| ir apmierināts ar failu kārtošanas secību — sapludināšana netiks mēģināta.

Lai to izdarītu, mēs ierakstām:

join

|_+_| jau iepriekš norāda, ka radīsies problēma ar faila |_+_| septīto rindiņu.

Faili ar trūkstošām rindām

Laukā |_+_| pēdējā rindiņa ir noņemta, tāpēc nav astotās rindas. Saturs ir šāds:

joinReklāma

Mēs ierakstām šādu un pārsteidzošā kārtā |_+_| nesūdzas un apstrādā visas iespējamās rindas:

join

Izvadā ir norādītas septiņas apvienotās rindas.

|_+_| (drukāšana nav savienojama) opcija norāda |_+_| lai izdrukātu arī tās rindas, kuras nevarēja saskaņot.

Šeit mēs ierakstām šādu komandu, lai pateiktu |_+_| lai izdrukātu rindas no pirmā faila, kuras nevar saskaņot ar otrā faila rindām:

join

Septiņas rindas ir saskaņotas, un astotā rinda no pirmā faila tiek izdrukāta, nesaskaņota. Nav apvienotas informācijas, jo |_+_| nesaturēja astoto rindiņu, kurai to varētu saskaņot. Tomēr vismaz tas joprojām parādās izvadā, lai jūs zinātu, ka tam nav atbilstības |_+_|.

Mēs ierakstām šādu |_+_| (apspiest savienotās līnijas), lai atklātu visas rindas, kurām nav atbilstības:

join

Mēs redzam, ka astotā rinda ir vienīgā, kurai nav atbilstības otrajā failā.

Atbilstība citiem laukiem

Saskaņosim divus jaunus failus laukā, kas nav noklusējuma lauks (1. lauks). Tālāk ir norādīts faila-7.txt saturs:

join

Tālāk ir norādīts faila-8.txt saturs:

file-3.txtReklāma

Vienīgais saprātīgais lauks, ko izmantot, lai pievienotos, ir e-pasta adrese, kas ir pirmais lauks pirmajā failā un lauks otrais otrajā. Lai to izdarītu, mēs varam izmantot |_+_| (fails viens lauks) un |_+_| (faila divi lauki) opcijas. Mēs tiem sekosim ar skaitli, kas norāda, kurš katra faila lauks ir jāizmanto, lai pievienotos.

Mēs ierakstām šo, lai pateiktu |_+_| lai izmantotu pirmo lauku pirmajā failā un otro failu otrajā:

file-2.txt

Faili tiek apvienoti e-pasta adresē, kas tiek parādīta kā katras izvades rindas pirmais lauks.

Izmantojot dažādus lauku atdalītājus

Ko darīt, ja jums ir faili ar laukiem, kas ir atdalīti ar kaut ko citu, nevis ar atstarpi?

Šie divi faili ir atdalīti ar komatu — vienīgā atstarpe ir starp vietu nosaukumiem, kas sastāv no vairākiem vārdiem:

file-3.txt file-3.txt

Reklāma

Mēs varam izmantot |_+_| (atdalīšanas rakstzīme), lai pateiktu |_+_| kuru rakstzīmi izmantot kā lauku atdalītāju. Šajā gadījumā tas ir komats, tāpēc mēs ierakstām šādu komandu:

file-1.txt

Visas līnijas ir saskaņotas, un vietu nosaukumos ir saglabātas atstarpes.

Burtu reģistra ignorēšana

Cits fails, |_+_|, ir gandrīz identisks failam |_+_|. Vienīgā atšķirība ir tā, ka dažām e-pasta adresēm ir lielais burts, kā parādīts tālāk:

join

Kad pievienojāmies |_+_| un |_+_|, tas darbojās lieliski. Redzēsim, kas notiks ar |_+_| un |_+_|.

Mēs ierakstām šādu komandu:

file-3.txt

Mēs saskaņojām tikai sešas rindas. Lielo un mazo burtu atšķirības neļāva apvienot pārējās divas e-pasta adreses.

Reklāma

Tomēr mēs varam izmantot |_+_| (ignorēt reģistru) iespēja piespiest |_+_| lai ignorētu šīs atšķirības un saskaņotu laukus, kuros ir viens un tas pats teksts, neatkarīgi no reģistra.

Mēs ierakstām šādu komandu:

--check-order

Visas astoņas rindas ir saskaņotas un veiksmīgi savienotas.

Sajauc un savieno

Programmā |_+_| jums ir spēcīgs sabiedrotais, kad cīnāties ar neērtu datu sagatavošanu. Iespējams, jums ir jāanalizē dati vai arī jūs mēģināt tos pārveidot, lai veiktu importēšanu citā sistēmā.

Neatkarīgi no situācijas jūs priecāsities, ka jums ir |_+_| tavā stūrītī!

Linux komandas
Faili darva · pv · kaķis · tac · chmod · saķere · atšķir · sed · ar · vīrietis · stumts · popd · fsck · testa disks · sek · fd · pandoc · CD · $PATH · awk · pievienoties · jq · salocīt · unik · Journalctl · asti · Valsts · ls · fstab · izmest ārā · mazāk · chgrp · čown · rev · Skaties · stīgas · veids · pārdēvēt · rāvējslēdzējs · izņemiet rāvējslēdzēju · mount · umount · uzstādīt · fdisk · mkfs · rm · rmdir · rsync · df · gpg · mēs · nano · mkdir · no · ln · ielāps · konvertēt · rclone · sasmalcināt · SRM
Procesi aizstājvārds · ekrāns · tops · jauki · Renice · progresu · strace · sistēma · tmux · chsh · vēsture · plkst · partija · bezmaksas · kuras · dmesg · usermod · ps · chroot · xargs · tty · sārti · lsof · vmstat · pārtraukums · siena · · nogalināt · Gulēt · sudo · viņa · laiks · pievienot grupu · usermod · grupas · lshw · izslēgt · pārstartēt · stop · izslēgt · passwd · lscpu · crontab · datums · bg · fg
Tīklošana netstat · ping · traceroute · ip · ss · kurš ir · fail2ban · bmon · tu · pirksts · nmap · ftp · čokurošanās · wget · PVO · kas es esmu · In · iptables · ssh-keygen · ufw

SAISTĪTI: Labākie Linux klēpjdatori izstrādātājiem un entuziastiem

LASĪT TĀLĀK Deiva Makeja profila fotogrāfija Deivs Makejs
Deivs Makejs pirmo reizi izmantoja datorus, kad modē bija perforētā papīra lente, un kopš tā laika viņš nodarbojas ar programmēšanu. Pēc vairāk nekā 30 IT nozarē nostrādātiem gadiem viņš tagad ir pilnas slodzes tehnoloģiju žurnālists. Savas karjeras laikā viņš ir strādājis par ārštata programmētāju, starptautiskas programmatūras izstrādes komandas vadītāju, IT pakalpojumu projektu vadītāju un pēdējā laikā par datu aizsardzības speciālistu. Viņa raksti ir publicēti vietnē howtogeek.com, cloudsavvyit.com, itenterpriser.com un opensource.com. Deivs ir Linux evaņģēlists un atvērtā koda aizstāvis.
Lasīt pilnu biogrāfiju

Interesanti Raksti