# Handbok &kabcclient;

## Inledning

&kabcclient; är ett kommandoradgränssnitt för &kde;:s adressbok. Det låter dig lista, söka, infoga, ta bort eller sammanfoga kontakter via kommandoraden eller från ett skriptspråk. &kabcclient; kan hantera ett antal olika format, både som indata och utdata, vilket gör det möjligt att använda det för import och export av hela adressböcker i &kde;.

När &kabcclient; startas utan väljare hamnar det i sökläge och försöker passa ihop indata som kan läsas från standardinmatningen med kontaktposter i &kde;:s adressbok.

Huvudfunktioner i &kabcclient;:

- Lista alla kontakter i &kde;:s adressbok

- Sökning efter kontakter som motsvarar indata

- Infoga (lägg till) kontakter

- Ta bort kontakter

- Sammanfoga (ändra) hittade kontakter med ny data

&kabcclient; är inte ytterligare ett grafiskt användargränssnitt för &kde;:s adressbok (dvs. &kaddressbook;). &kabcclient; är bara avsett för användning där ett grafiskt användargränssnitt inte är praktiskt eller möjligt.

&kabcclient; tillhandahåller inte ett fullständigt språk för att göra förfrågningar om användarens adressbok, det är heller inte upphovsmännens avsikt att någonsin lägga till en sådan möjlighet. All sådan behandling kan göras via andra kommandoradsverktyg eller skriptspråkets egna möjligheter.

För att förenkla möjligheten att upptäcka funktioner, kan alla väljare som kräver ett argument anropas med värdet `help`. Då listas alla giltiga värden som kan anges för den väljaren.

## Funktioner

I det här kapitlet lär du dig om huvudfunktionerna i &kabcclient;, och hur du kan styra dem med kommandoradsväljare (kom ihåg att &kabcclient; inte har ett grafiskt användargränssnitt, utan bara är ett kommadoradsprogram).

Du lär dig om att infoga, ta bort och söka efter kontaktdata, och hur man använder olika format för indata och utdata.

### Lista adressboken

Det här är den mest grundläggande användningen, initierad genom att använda väljaren `--list` eller `-L`. &kabcclient; listar alla kontakter i &kde;:s adressbok, och skriver data till programmets standardutmatning. Utmatningens längd och format beror på valt utmatningsformat.

För att lista alla kontakter som vanliga vCard-poster, kör helt enkelt:

    % kabcclient -L

För att bara få en rad per kontakt, t.ex. för att räkna antalet, kör helt enkelt:

    % kabcclient -L -of uid

I nästa exempel listar vi alla e-postadresser:

    % kabcclient --list -of email

### Söker efter kontakter som motsvarar indata

&kabcclient; kan ta data från kommandoraden eller från programmets standardinmatning och kontrollera om det har likheter med någon av kontakterna i &kde;:s adressbok. Sökning är standardläget men det kan väljas explicitmed kommandoradsväljarna `--search` eller `-S`.

I följande exempel skrivs alla kontakter där `anna` ingår i något namnfält eller e-postadress till programmets standardutmatning, formaterade som vCard (eftersom det är förvalt värde för väljaren `--output-format`):

    % kabcclient --search anna

Samma fråga igen, men den här gången läses söksträngen från programmets standardinmatning:

    % echo anna | kabcclient --search

Frågornas känslighet för skifläget kan ändras med alternativet `--match-case`.

### Lägga till kontakter

&kabcclient; stöder tillägg av nya kontakter i &kde;:s adressbok genom att använda kommandoradsväljaren `--add` eller `-A`. Data kan antingen skickas som ytterligare kommandoradsväljare eller läsas från standardinmatningen. Om det lyckas, skrivs resultatets kontakter till programmets standardutmatning. Eftersom det här är en åtgärd som förändrar adressboken kan det köras "på försök" med väljaren `--nosave`.

Lägg till en kontakt med namn och e-postadress genom att tolka ytterligare en kommandoradsväljare som indata:

    % kabcclient --add --input-format email "Anna Johansson <a.johansson@exempel.se>"

Lägg till alla kontakter från en vCard-fil inskickade till programmets standardinmatning:

    % cat exempelfil.vcf | kabcclient --add --input-format vcard

### Ta bort kontakter

&kabcclient; stöder att ta bort kontakter från &kde;:s adressbok genom att använda kommandoradsväljaren `--remove` eller `-R`. Indata är egentligen en förfrågan, som vid en sökning i adressboken. Om det lyckas, skrivs de borttagna kontakterna till programmets standardutmatning. Eftersom det här är en åtgärd som förändrar adressboken kan det köras "på försök" med väljaren `--nosave`.

När du tar bort något från adressboken kan du inte ångra det! Med andra ord, när du tar bort en kontakt kan du inte återställa den igen. Den är borta för alltid.

Prova att ta bort alla kontakter med `anna` i något kontaktnamnsfält eller någon e-postadress:

    % kabcclient --remove --nosave anna

### Indata- och utdataformat

&kabcclient; kan tolka indata och formatera utdata enligt diverse formateringsregler. Beroende på det verkliga användningsfallet, ger vissa kombinationer det mest användbara resultatet. Vissa format accepterar ytterligare väljare för att ytterligare anpassa deras beteende.

Eftersom textdata kan vara kodat, kan både indata och utdata utsättas för ytterligare avkodning respektive kodning.

Alla kommandoradsväljarna reagerar på specialvärdet `help` med att lista tillåtna värden.

#### vCard-format

Standardformatet för kontaktdata är vCard (RFC 2426), och som sådant kan det presentera all information som andra adressboksprogram såsom &kaddressbook; kan komma åt. Det är därför standardformat för utdataformatering.

#### Format med värden åtskilda av kommatecken (CSV)

Format med värden åtskilda av kommatecken kan användas som indataformat för att fylla i data i specifika fält av en kontaktpost, och som utdataformat för att minska eller ordna om data vid ytterligare behandling. För att ge tillräckligt flexibilitet, kan avbildningen av kontaktfält till CSV-kolumner specificeras med CSV-mallbeskrivningsfiler, vilka också används av &kaddressbook; i samma syfte.

## Kommandoradsväljare

&kabcclient; stöder följande väljare:

Väljare | Beskrivning
`--help, --help-all` | Visar hjälp om programmets väljare.
`--author` | Visar information om programmets upphovsmän.
`-v, --version` | Visar programmets versionsinformation.
`--license` | Visar programmets licensinformation.
`--verbose` | Skriver ut hjälpsamma meddelanden under körning.
`--nosave` | Skriv ut vad som skulle ha gjorts, men utför det inte. Ändra ingenting i &kde;:s adressbok. Infoga, ta bort eller ändra inte några befintliga kontakter.
`--match-case` | Använd skiftlägeskänslig jämförelse när indata jämförs med kontaktdata från adressboken.
Huvudkommandolägen:
`-L, --list` | Skriv ut alla kontakter med angivet exportformat.
`-A, --add` | Infoga kontakter i adressboken.
`-R, --remove` | Ta bort kontakter från adressboken.
`-M, --merge` | Sammanfoga indata med motsvarande kontakter i adressboken.
Formatering och kodning:
`-if, --input-format` `format` | Hur indata ska tolkas. Använd `help` för att få en lista med tillgängliga värden.
`-of, --output-format` `format` | Hur utdata ska formateras. Använd `help` för att få en lista med tillgängliga värden.
`-if-opts, --input-format-options` `alternativ` | Inställningsalternativ specifika för indataformatet. Använd `help` för att få en lista med tillgängliga värden.
`-of-opts, --output-format-options` `alternativ` | Inställningsalternativ specifika för utdataformatet. Använd `help` för att få en lista med tillgängliga värden.
`-ic, --input-codec` `kodning` | Textkodning som ska användas för att visa indata. Använd `help` för att få en lista med tillgängliga värden.
`-oc, --output-codec` `kodning` | Textkodning som ska användas för att visa utdata. Använd `help` för att få en lista med tillgängliga värden.

## Vanliga frågor

&reporting.bugs; &updating.documentation;

Vilka inställningsfiler använder &kabcclient;?

Inga.

Vad är programnamn för &kabcclient;?

&kabcclient;s programnamn är kabcclient.

Hur kan jag få en fråga tillagd bland de här vanliga frågorna?

Skicka dina frågor till kevin.krammer@gmx.at.

## Tack till och licens

&kabcclient; Program copyright 2005-2008:

- Kevin Krammer kevin.krammer@gmx.at

Dokumentation copyright 2008:

- Kevin Krammer kevin.krammer@gmx.at

Översättning Stefan Asserhäll stefan.asserhall@bredband.net

&underFDL; &underGPL;

## Installation

### Hur man skaffar &kabcclient;

&install.intro.documentation;

&kabcclient; levereras inkluderat i &kde;4 och är inte separat tillgängligt.

### Krav

&kabcclient; kräver att &kde;:s standardbibliotek är installerade (paketen `kdelibs` och `kdepimlibs`). För att kompilera från källkod, behöver du också &Qt; och utvecklingspaketen för `kdelibs` och `kdepimlibs`.

Du hittar en lista över ändringar i filen `ChangeLog`.

### Anpassning

Det krävs ingen särskild anpassning för att ställa in &kabcclient; att köra på &kde;-skrivbordet.

&documentation.index;