cmp(1p): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= cmp(1p) = == NAMN == '''cmp''' – jämför två filer == SYNOPS == '''cmp''' [ '''-l''' | '''-s''' ] ''fil1'' ''fil2'' == BESKRIVNING == Verktyget '''cmp''' jämför två filer. Om filerna är identiska skrivs inget ut. Med standardinställningar skrivs, om skillnad finns, det byte- och radnummer där första skillnaden uppstår. Byte och rader numreras från 1. == FLAGGOR == '''-l''' Skriv ut bytenummer (decimalt) samt de olika bytena (oktalt) för var...') |
(Ingen skillnad)
|
Nuvarande version från 31 mars 2025 kl. 07.49
cmp(1p)
NAMN
cmp – jämför två filer
SYNOPS
cmp [ -l | -s ] fil1 fil2
BESKRIVNING
Verktyget cmp jämför två filer. Om filerna är identiska skrivs inget ut. Med standardinställningar skrivs, om skillnad finns, det byte- och radnummer där första skillnaden uppstår. Byte och rader numreras från 1.
FLAGGOR
-l Skriv ut bytenummer (decimalt) samt de olika bytena (oktalt) för varje skillnad.
-s Skriv inget till standardutgång eller felutgång vid skillnader. Skillnader indikeras enbart via returvärde. Vid fel är det ospecificerat om ett felmeddelande skrivs till standardfel.
OPERANDER
fil1 Sökvägen till den första filen. Om fil1 är -, används standard in.
fil2 Sökvägen till den andra filen. Om fil2 är -, används standard in.
Om både fil1 och fil2 är standard in eller pekar på samma FIFO/block/teckenspecialfil är resultatet ospecificerat.
STDIN
Standard in används endast om fil1 eller fil2 är -.
INDATAFILER
Indatafilerna kan vara av valfri typ.
MILJÖVARIABLER
LANG Anger standardvärde för de internationaliseringsvariabler som inte är satta.
LC_ALL Åsidosätter alla andra internationaliseringsvariabler.
LC_CTYPE Avgör hur byte tolkas som tecken.
LC_MESSAGES Avgör lokalanpassning av meddelanden till standardfel och -utgång.
NLSPATH Anger plats för meddelandekataloger.
ASYNKRONA HÄNDELSER
Standard.
STDOUT
Om filerna skiljer sig och inga flaggor anges:
%s %s skiljer sig: byte %d, rad %d
Vid flaggan -l:
%d %o %o
Där första värdet är bytenummer, och de två följande är respektive byte (i oktal) från fil1 och fil2. Med -s skrivs inget alls till standardutgång.
STDERR
Endast felmeddelanden skrivs till standardfel. Vid olika filstorlek och -l, eller om -s inte anges och en fil tar slut först:
cmp: EOF på %s%s
Det andra fältet (tillägg) kan vara tomt eller börja med mellanslag utan radbrytning.
UTDATAFILER
Inga.
UTFÖRLIG BESKRIVNING
Ingen.
RETURVÄRDE
0 Filerna är identiska 1 Filerna skiljer sig
>1 Fel uppstod
FÖLJDER AV FEL
Standard.
Följande avsnitt är informativa
PROGRAMANVÄNDNING
Vid jämförelse av specialsökvägar (ex. teckenenheter) kan resultatet bli oväntat. Radnummer baseras endast på förekomsten av radbrytningar.
För att endast se fel vid -s, kan standardfel ignoreras via /dev/null. Exempel på tyst jämförelse:
silent_cmp() { meddelande=$(cmp "$@" 2>&1 >/dev/null) status=$? case $status in (0|1) ;; (*) printf '%s\n' "$meddelande" ;; esac return $status }
EXEMPEL
Inga.
MOTIVERING
Historiskt används "char" i utdata, men det syftar egentligen på byte. Standardens användning av "byte" föredras i moderna implementationer.
Vissa implementationer hanterar cmp -l -s som fel eller ignorerar flaggor. Sådant beteende tolereras men anses vara fel.
FRAMTIDA UTVECKLING
Framtida standarder kan kräva att -s fortfarande genererar felutdata vid fel.
SE ÄVEN
Se även POSIX.1-2017:
- Kapitel 8 – Miljövariabler
- Avsnitt 12.2 – Syntaxregler för verktyg
COPYRIGHT
Utdrag ur IEEE Std 1003.1-2017. Copyright © 2018 IEEE och The Open Group. Originalstandarden finns på: <http://www.opengroup.org/unix/online.html>
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/cmp.1p.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp Bromma som har sponsrat Linux.se med webbhotell.