Hvordan bruke Comm -kommandoen i Linux

Hvordan bruke Comm -kommandoen i Linux
Comm -kommandoen brukes i Linux for å sammenligne forskjellige filer, denne kommandoen sammenligner hver eneste linje i filene og viser de unike linjene og vanlige linjene i filene i separate kolonner. Behovet for sammenligning av filer forekommer for det meste med programmererne; Når de trenger å finne ut modifikasjonene som er gjort i programmet over tid.

I denne oppskrivningen skal vi forklare bruken av Comm-kommandoen i Linux med en detaljert forklaring.

Hvordan bruke kommandoen Comm -kommandoen i Linux

Comm -kommandoen kan brukes til å sammenligne to filer linje for linje, den generelle syntaksen ved å bruke COMM -kommandoen:

$ comm [alternativ] file_name1 file_name2

Ovennevnte kommandosyntax vil vise resultatet i tre kolonner; Den første kolonnen vil vise de unike linjene i filen1, den andre kolonnen vil vise de unike linjene i filen2, og den tredje kolonnen vil vise de vanlige linjene i begge filene.

Vi kan også bruke noen alternativer sammen med Comm -kommandoen; Noen ofte brukte alternativer er:

Alternativer Forklaring
-1 Den vil ikke vise den første kolonnen i resultatet, som inneholder de unike linjene i filen1
-2 Den vil ikke vise den andre kolonnen i resultatet, som inneholder de unike linjene i filen2
-3 Den vil ikke vise den tredje kolonnen i resultatet, som inneholder de vanlige linjene i begge filene; File1 og File2
-sjekkordre Den vil sjekke alle linjene i begge filene er ordentlig sortert eller ikke
-NoCheck-Order Den vil ikke sjekke sorteringsrekkefølgen og bare vise resultatene
-hjelp Det vil vise en ledetekst for hjelpemeldinger og vil avslutte
-versjon Det vil vise versjonen av informasjonen og avkjørselen
-Total Det vil vise det totale antallet linjer som er til stede i hver kolonne i resultatet
-Z, -zero -Delimiter Den vil vise filene separat i stedet for kolonnene; verdien av null avgrensere er null
-output-delimiter = [et hvilket som helst tegn] Det vil erstatte "mellomrom" i resultatene ved å bruke tegnet du vil legge der

For å forstå alle disse alternativene, vil vi vurdere to tekstfiler med navnet; mytestfile1.TXT og MytestFile2.txt, hvis innhold kan vises ved hjelp av kommandoene:

$ CAT MYTESTFILE1.tekst
$ CAT MYTESTFILE2.tekst

Først vil vi sammenligne begge filene som bruker Comm -kommandoen uten noen alternativer, for dette formålet må vi bruke kommandoen:

$ comm mytestfile1.txt myTestFile2.tekst

Som vi vet, er Comm-kommandoen aktuelt på de sorterte filene, og de gitte filene i kommandoen er ikke sortert, så den genererte "filene som ikke er sorterte" advarsler, for å fjerne disse kommentarene, vil vi bruke "-nocheck-orden" Flagg, som vil ignorere å sjekke sorteringsrekkefølgen og vise resultatene:

$ comm-nocheck-bestill mytestfile1.txt myTestFile2.tekst

I bildet over har vi merket tre kolonner for en bedre forståelse av resultatene, den første kolonnen viste de unike linjene til MytestFile1.TXT som bare er "Fedora", den andre kolonnen viste de unike linjene i MytestFile2.txt som bare er "Debian", og den siste kolonnen viste de vanlige linjene i begge filene. Hvis vi vil vise kolonne 1 (unike linjer med myTestFile1.txt) og kolonne 3 (vanlige linjer med begge filene), vil vi undertrykke kolonne 2 ved å bruke “-2” -flagget:

$ COMM -2 -NOCHECK -BESTRE MYTESTFILE1.txt myTestFile2.tekst

På samme måte kan vi undertrykke både kolonne 1, kolonne 2, og bare vise kolonne 3 (som inneholder de vanlige linjene i begge filene) ved å kjøre kommandoen:

$ COMM -12 -NOCHECK -BESTRE MYTESTFILE1.txt myTestFile2.tekst

Utgangen viste bare den tredje kolonnen i resultatet, for å finne ut det totale antall linjer i hver kolonne, bruk kommandoen:

$ Comm--Total-Nocheck-Order MyTestFile1.txt myTestFile2.tekst

For å sjekke om sorteringsrekkefølgen for begge filene enten er i riktig rekkefølge eller ikke, utfør Comm-kommandoen ved å bruke "-Check-Order" -flagget:

$ comm-check-bestill mytestfile1.txt myTestFile2.tekst

Resultatene viser at fil 1 ikke er i sortert rekkefølge fordi navnene på filene ikke er ordnet alfabetisk verken i stigende rekkefølge eller synkende rekkefølge, på samme måte brukes "-zero-delimiter" -flagget:

$ comm --zero-terminert mytestfile1.txt myTestFile2.tekst

På samme måte kan vi bruke “-output-delimiter = **” med COMM-kommandoen for å erstatte plassen med “Star (*)”:

$ COMM --Output-Delimiter = ** --Nocheck-Order MytestFile1.txt myTestFile2.tekst

For å sjekke versjonen av Comm -kommandoen:

$ comm --version

Hvis du vil vite mer om Comm -kommandoen, kan du sjekke manualen ved å bruke kommandoen:

$ man komm

Konklusjon

Comm -kommandoen brukes til å sammenligne linjene til de sorterte filene i Linux, men det er imidlertid noen andre måter også for å sammenligne filer som Diff -kommandoen og bruke VIM -redigeringsprogrammet. Comm -kommandoen er enkel å bruke og anbefales hvor filene inneholder skript og bare en enklere sammenligning er nødvendig. I denne oppskrivningen har vi diskutert COMM-kommandoen og dens forskjellige alternativer kort ved hjelp av eksempler.