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.