cmp(1p): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(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

comm(1p), diff(1p)

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.