join - en kommando af UNIX-lignende operativsystemer, der kombinerer linjerne i to ordnede tekstfiler baseret på tilstedeværelsen af et fælles felt . Dens funktionalitet ligner Join -operatoren, der bruges i SQL -sproget , men fungerer på tekstfiler. Dette værktøj er skrevet af Mike Haertel .
Kommandoen jointager to tekstfiler og en række argumenter som input. Hvis der ikke gives nogen kommandolinjeargumenter , søger denne kommando efter par af linjer i to filer, der har et matchende første felt (en sekvens af ikke-mellemrumstegn) og udsender en streng bestående af det første felt og indholdet af begge linjer .
Programargumenterne bestemmer, hvilket tegn der vil blive brugt i stedet for et mellemrum til at adskille felterne i strengen, som vil blive kontrolleret, når man leder efter matchende strenge, og om der skal udskrives uoverensstemmende strenge eller ej. Du kan udlæse data til en tredje fil ved hjælp af omdirigering .
Forenklet syntaks kan repræsenteres som følger:
join [valgmuligheder] fil1 fil2Hvis "-" er angivet som en af filerne (men ikke begge på én gang!), så læses standardinput [1] i stedet for filen . Filer skal sorteres i stigende ASCII leksikografisk rækkefølge efter forbindelsesfelter (normalt efter det første felt på hver linje). Resultatet af operationen er rækker, én for hvert par rækker fra fil1- og fil2-relationer, der har de samme sammenføjningsfelter. Typisk består resultatstrengen af det fælles felt, derefter resten af fil1-relationsstrengen og derefter resten af fil2-relationsstrengen. Som standard er outputseparatoren et mellemrum. For standardfeltseparatorer respekterer sorteringssekvensen ikke indledende mellemrum. Hvis indstillingen er givet -t, er alle tegn signifikante. Hvis filnavnet består af tal, kan det interagere med muligheden -oumiddelbart før filargumenterne [2] .
Tag de følgende to filer som eksempel.
Fil 1:
linje1 tekst1 linje2 tekst2Fil 2:
linje1 tekst11 linje3 tekst3Kommandoen join(uden yderligere parametre bestået) vil give følgende resultat:
linje1 tekst1 tekst11Dette skyldes, at kun ordet "line1" optrådte i begge filer som det første ord i linjen.
Dette program ejes af Free Software Foundation og distribueres uden nogen garanti som gratis software under GNU General Public License [1] .
Unix-kommandoer | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|