wc(1p)
wc(1p) – Linux manualsida
Prolog
Den här manualsidan är en del av POSIX Programmer's Manual.
Linux-implementationen av detta gränssnitt kan skilja sig åt. Se motsvarande Linux-manualsida för detaljer om Linux-beteende. Gränssnittet kanske inte heller är implementerat på Linux.
Namn
wc – räkna ord, rader och byte eller tecken.
Synopsis
wc [-c|-m] [-lw] [fil...]
Beskrivning
Verktyget wc ska läsa en eller flera indatafiler och som standard skriva antalet radbrytningstecken, ord och byte i varje indatafil till standardutmatning.
Verktyget ska också skriva en total summering för alla namngivna filer om mer än en indatafil anges.
Verktyget wc ska betrakta ett ord som en teckensträng med längd större än noll, avgränsad av blanktecken.
Flaggor
Verktyget wc ska följa POSIX.1-2017, Base Definitions, avsnitt 12.2, Utility Syntax Guidelines.
Följande flaggor ska stödjas:
- -c
- Skriv antalet byte i varje indatafil till standardutmatning.
- -l
- Skriv antalet radbrytningstecken i varje indatafil till standardutmatning.
- -m
- Skriv antalet tecken i varje indatafil till standardutmatning.
- -w
- Skriv antalet ord i varje indatafil till standardutmatning.
När någon flagga anges ska wc endast rapportera den information som begärs av de angivna flaggorna.
Operander
Följande operand ska stödjas:
- fil
- En sökväg till en indatafil.
- Om inga fil-operander anges ska standardinmatning användas.
Standardinmatning
Standardinmatning ska användas om inga fil-operander anges.
Standardinmatning ska också användas om en fil-operand är - och implementationen behandlar - som standardinmatning.
I övriga fall ska standardinmatning inte användas. Se avsnittet Indatafiler.
Indatafiler
Indatafilerna kan vara av vilken typ som helst.
Miljövariabler
Följande miljövariabler ska påverka körningen av wc:
- LANG
- Anger ett standardvärde för internationaliseringsvariabler som är osatta eller tomma.
- Se POSIX.1-2017, Base Definitions, avsnitt 8.2, Internationalization Variables, för företrädesordningen för internationaliseringsvariabler som används för att bestämma värden för lokalkategorier.
- LC_ALL
- Om den är satt till en icke-tom sträng åsidosätter den värdena för alla andra internationaliseringsvariabler.
- LC_CTYPE
- Bestämmer lokalinställningen för tolkning av byteföljder i textdata som tecken, till exempel enkelbyte- jämfört med multibytetecken i argument och indatafiler, samt vilka tecken som definieras som blanktecken.
- LC_MESSAGES
- Bestämmer lokalinställningen som ska användas för att påverka formatet och innehållet i diagnostiska meddelanden som skrivs till standardfel och informativa meddelanden som skrivs till standardutmatning.
- NLSPATH
- Bestämmer platsen för meddelandekataloger vid bearbetning av LC_MESSAGES.
Asynkrona händelser
Standardbeteende.
Standardutmatning
Som standard ska standardutmatningen innehålla en post för varje indatafil i formen:
"%d %d %d %s\n", <radbrytningar>, <ord>, <byte>, <fil>
Om flaggan -m anges ska antalet tecken ersätta fältet byte i detta format.
Om några flaggor anges och flaggan -l inte anges, ska antalet radbrytningstecken inte skrivas.
Om några flaggor anges och flaggan -w inte anges, ska antalet ord inte skrivas.
Om några flaggor anges och varken -c eller -m anges, ska antalet byte eller tecken inte skrivas.
Om inga indataoperander av typen fil anges, ska inget namn skrivas och inga blanktecken före sökvägen skrivas.
Om mer än en indataoperand av typen fil anges, ska en extra rad skrivas i samma format som övriga rader, förutom att ordet total i POSIX-lokalen ska skrivas i stället för en sökväg, och summan av varje kolumn ska skrivas på lämpligt sätt.
Denna extra rad, om den finns, skrivs i slutet av utmatningen.
Standardfel
Standardfel ska endast användas för diagnostiska meddelanden.
Utdatafiler
Inga.
Utökad beskrivning
Ingen.
Avslutningsstatus
Följande avslutningsvärden ska returneras:
- 0
- Lyckad körning.
- >0
- Ett fel inträffade.
Följder av fel
Standardbeteende.
Följande avsnitt är informativa.
Programanvändning
Flaggan -m är inte en växel som modifierar -c, utan en flagga på samma nivå som -c.
För att skapa fullständig standardutmatning med teckenräkning i stället för byte krävs därför kommandot:
wc -mlw
Exempel
Inga.
Bakgrund
Pseudosträngen för utdataformatet med printf() skiljer sig från System V-versionen av wc:
"%7d%7d%7d %s\n"
Det formatet kan ge tvetydiga och svårtolkade resultat för mycket stora filer, eftersom det förutsätter att inget tal överskrider sex siffror.
Vissa historiska implementationer använder endast mellanslag, tabb och radbrytning som ordavgränsare. Motsvarigheten till ISO C-standardens funktion isspace() är mer lämplig.
Flaggan -c står historiskt för ”character count”, alltså teckenräkning, även om den räknar byte. Detta kommer från den ibland felaktiga historiska uppfattningen att byte och tecken har samma storlek.
På grund av internationaliseringskrav lades flaggan -m till för att få faktiska teckenräkningar. Den associeras med ”multi-byte”.
Tidiga förslag specificerade endast resultat när indatafiler var textfiler. Den nuvarande specifikationen följer historisk praxis bättre: byte, ord och radbrytningstecken räknas separat och resultaten skrivs när filslut upptäcks.
Historiska implementationer av wc accepterade endast ett argument för att ange flaggorna -c, -l och -w.
Vissa av dem lät också flera förekomster av en flagga göra att motsvarande räkning skrevs flera gånger, och lät ordningen på flaggorna påverka ordningen på fälten i utmatningen, men detta dokumenterades inte.
Eftersom vanlig användning antingen inte anger några flaggor eller endast en flagga, och eftersom inget av detta var dokumenterat, bör ändringarna som krävs av POSIX.1-2017 inte bryta många historiska program och bryter inte några historiskt överensstämmande program.
Framtida riktning
Ingen.
Se även
- cksum(1p)
- POSIX.1-2017, Base Definitions, kapitel 8, Environment Variables
- POSIX.1-2017, Base Definitions, avsnitt 12.2, Utility Syntax Guidelines
Upphovsrätt
Delar av denna text är återgivna och reproducerade i elektronisk form från:
- IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX)
- The Open Group Base Specifications Issue 7, 2018 Edition
Copyright © 2018 Institute of Electrical and Electronics Engineers, Inc. och The Open Group.
Vid avvikelse mellan denna version och den ursprungliga IEEE- och The Open Group-standarden gäller den ursprungliga standarden som referensdokument.
Den ursprungliga standarden kan hämtas online från:
Eventuella typografiska fel eller formateringsfel på denna sida har troligen införts vid konverteringen av källfilerna till man-sideformat.
För att rapportera sådana fel, se:
Prolog
Den här manualsidan är en del av POSIX Programmer's Manual.
Linux-implementationen av detta gränssnitt kan skilja sig åt. Se motsvarande Linux-manualsida för detaljer om Linux-beteende. Gränssnittet kanske inte heller är implementerat på Linux.
Namn
cal – skriv ut en kalender.
Synopsis
cal [[månad] år]
Beskrivning
Verktyget cal ska skriva en kalender till standardutmatning.
Det använder den julianska kalendern för datum från 1 januari år 1 till och med 2 september 1752, och den gregorianska kalendern för datum från 14 september 1752 till och med 31 december 9999, som om den gregorianska kalendern hade införts den 14 september 1752.
Om inga operander anges ska cal skapa en kalender för en månad: den aktuella månaden i det aktuella året.
Om endast operanden år anges ska cal skapa en kalender för alla tolv månader i det angivna kalenderåret.
Om både månad och år anges ska cal skapa en kalender för den angivna månaden i det angivna året.
Flaggor
Inga.
Operander
Följande operander ska stödjas:
- månad
- Anger månaden som ska visas, representerad som ett decimalt heltal från 1 till 12.
- 1 betyder januari och 12 betyder december.
- år
- Anger året som kalendern ska visas för, representerat som ett decimalt heltal från 1 till 9999.
Standardinmatning
Används inte.
Indatafiler
Inga.
Miljövariabler
Följande miljövariabler ska påverka körningen av cal:
- LANG
- Anger ett standardvärde för internationaliseringsvariabler som är osatta eller tomma.
- Se POSIX.1-2017, Base Definitions, avsnitt 8.2, Internationalization Variables, för företrädesordningen för internationaliseringsvariabler som används för att bestämma värden för lokalkategorier.
- LC_ALL
- Om den är satt till en icke-tom sträng åsidosätter den värdena för alla andra internationaliseringsvariabler.
- LC_CTYPE
- Bestämmer lokalinställningen för tolkning av byteföljder i textdata som tecken, till exempel enkelbyte- jämfört med multibytetecken i argument.
- LC_MESSAGES
- Bestämmer lokalinställningen som ska användas för att påverka formatet och innehållet i diagnostiska meddelanden som skrivs till standardfel, samt informativa meddelanden som skrivs till standardutmatning.
- LC_TIME
- Bestämmer kalenderns format och innehåll.
- NLSPATH
- Bestämmer platsen för meddelandekataloger vid bearbetning av LC_MESSAGES.
- TZ
- Bestämmer tidszonen som används för att beräkna värdet för den aktuella månaden.
Asynkrona händelser
Standardbeteende.
Standardutmatning
Standardutmatningen ska användas för att visa kalendern, i ett ospecificerat format.
Standardfel
Standardfel ska endast användas för diagnostiska meddelanden.
Utdatafiler
Inga.
Utökad beskrivning
Ingen.
Avslutningsstatus
Följande avslutningsvärden ska returneras:
- 0
- Lyckad körning.
- >0
- Ett fel inträffade.
Följder av fel
Standardbeteende.
Följande avsnitt är informativa.
Programanvändning
Observera att:
cal 83
syftar på år 83 e.Kr., inte 1983.
Exempel
Inga.
Bakgrund
Tidigare versioner av denna standard krävde felaktigt att kommandot:
cal 2000
skulle skriva en enmånads kalender för den aktuella kalendermånaden, oavsett aktuellt år, i året 2000 till standardutmatning.
Detta stämde inte med historisk praxis i någon känd version av verktyget cal.
Beskrivningen har uppdaterats för att stämma med historisk praxis. När endast operanden år anges skriver cal en tolvmånaderskalender för det angivna året.
Framtida riktning
En framtida version av denna standard kan stödja lokalspecifik igenkänning av datumet då den gregorianska kalendern infördes.
Se även
- POSIX.1-2017, Base Definitions, kapitel 8, Environment Variables
Upphovsrätt
Delar av denna text är återgivna och reproducerade i elektronisk form från:
- IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX)
- The Open Group Base Specifications Issue 7, 2018 Edition
Copyright © 2018 Institute of Electrical and Electronics Engineers, Inc. och The Open Group.
Vid avvikelse mellan denna version och den ursprungliga IEEE- och The Open Group-standarden gäller den ursprungliga standarden som referensdokument.
Den ursprungliga standarden kan hämtas online från:
Eventuella typografiska fel eller formateringsfel på denna sida har troligen införts vid konverteringen av källfilerna till man-sideformat.
För att rapportera sådana fel, se:
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/wc.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 som har sponsrat Linux.se med webbhotell.