# Підручник з &kabcclient;

## Вступ

&kabcclient; — це інтерфейс командного рядка до адресної книги &kde;. За його допомогою ви можете створювати списки, шукати, додавати, вилучати або об’єднувати списки контактів за допомогою командного рядка або скриптової мови. &kabcclient; може працювати на вході і на виході з файлами у багатьох форматах, тому ним можна скористатися для імпорту і експорту цілих адресних книг &kde;.

Після запуску без додаткових параметрів &kabcclient; переходить у режим пошуку і намагається знайти відповідник до будь-яких введених даних, які він читає зі стандартного вводу, у записах контактів адресної книги &kde;.

Основні можливості &kabcclient;:

- Побудова списку всіх контактів з адресної книги &kde;

- Пошук контактів за введеними даними

- Вставка (додавання) контактів

- Вилучення контактів

- Об’єднання (зміна) відповідних контактів на основі нових даних

&kabcclient; не є ще одним графічним інтерфейсом користувача до адресної книги &kde; (на зразок &kaddressbook;). &kabcclient; призначено лише для використання у тих випадках, коли використання графічного інтерфейсу користувача є недоцільним або неможливим.

У &kabcclient; не передбачено повноцінної мови для створення запитів до адресної книги користувача, автори не мали і не мають намірів щодо створення такої мови. Всі подібні запити можна виконати за допомогою інструментів командного рядка або можливостей мови, якою написано скрипт, що викликає програму.

Щоб полегшити вивчення можливостей програми, всі параметри, які потребують визначення значення, можна викликати зі значенням `help`. Такий виклик призведе до показу всіх можливих значень, які може надати цьому параметру.

## Можливості

У цьому розділі ви ознайомитеся з основними можливостями &kabcclient; і навчитеся керувати програмою за допомогою параметрів командного рядка (пам’ятайте, що &kabcclient; не є графічним інтерфейсом користувача, ця програма працює лише з командним рядком).

Ви дізнаєтеся, як вставити, вилучити або знайти дані контакту, а також ознайомитеся з прийомами використання різних форматів для вводу і виводу даних.

### Показ списку адресної книги

Це найпростіший режим роботи, у ньому програму можна запустити за допомогою параметра командного рядка `--list` або `-L`. &kabcclient; побудує список всіх контактів з адресної книги &kde; і запише дані до стандартного виводу програми. Розмір і формат виведених даних залежатиме від обраного формату виводу.

Щоб побудувати список всіх контактів як стандартних записів vCard, виконайте команду:

    % kabcclient -L

Щоб кожен контакт було записано у окремому рядку, наприклад, для обліку, виконайте команду:

    % kabcclient -L -of uid

У наступному прикладі буде виведено список всіх адрес електронної пошти:

    % kabcclient --list -of email

### Пошук контактів за введеними даними

&kabcclient; може отримувати дані з командного рядка або зі стандартного вводу програми і знаходити відповідник серед усіх контактів у адресній книзі &kde;. Пошуковий режим є типовим, але його можна обрати і явно, якщо скористатися параметром командного рядка `--search` або `-S`.

У наступному прикладі у стандартний вивід програми буде записано всі записи контактів, у яких рядок `Тетяна` є частиною будь-якого поля імені або адреси електронної пошти, дані буде виведено у форматі vCard (оскільки цей формат є типовим для параметра `--output-format`):

    % kabcclient --search Тетяна

Знову той самий запит, цього разу рядок для пошуку буде отримано зі стандартного вводу програми:

    % echo Тетяна | kabcclient --search

Перемикати чутливість до регістру символів можна за допомогою параметра `--match-case`.

### Додавання контактів

&kabcclient; підтримує додавання нових контактів до адресної книги &kde; за допомогою параметра командного рядка `--add` або `-A`. Дані може бути передано як параметри командного рядка, або прочитано зі стандартного вводу програми. У разі успішного додавання контакти буде виведено до стандартного виводу програми. Оскільки ця дія змінює вміст адресної книги, її можна спочатку виконати у тестовому режимі за допомогою параметра `--nosave`.

Додавання контакту з іменем і адресою електронної пошти визначенням вхідних даних за допомогою додаткового параметра командного рядка:

    % kabcclient --add --input-format email "Іван Петрущак <ivanpetrouchtchak@yahoo.com>"

Додавання всіх контактів з файла vCard потоково переданого на стандартний вхід програми:

    % cat приклад-файла.vcf | kabcclient --add --input-format vcard

### Вилучення контактів

&kabcclient; підтримує вилучення контактів з адресної книги &kde; за допомогою параметра командного рядка `--remove` або `-R`. Вхідними даними є дані, подібні на дані потрібні для пошуку у адресній книзі. У разі успішного вилучення контакти буде виведено до стандартного виводу програми. Оскільки ця дія змінює вміст адресної книги, її можна спочатку виконати у тестовому режимі за допомогою параметра `--nosave`.

Після вилучення записів з адресної книги ви вже не зможете їх відновити! Іншими словами, дія з вилучення не підлягає скасуванню. Дані буде незворотно втрачено.

Тестова спроба вилучення всіх контактів зі словом `Тетяна` у будь-якому з полів імені контакту або адреси його електронної пошти:

    % kabcclient --remove --nosave Тетяна

### Формати вводу і виводу даних

&kabcclient; може сприймати вхідні дані і виводити вихідні дані відповідно до різних правил їх форматування. Залежно від потреб, певні комбінації форматів даватимуть вам бажаний результат. Для деяких з цих форматів можна вказати додаткові параметри, які налаштують параметри цих форматів.

У текстових даних може бути різне кодування як на вході, так і на виході, тому символи тексту слід декодовувати певним чином на вході і закодовувати певним чином на виході.

Всі ці параметри командного рядка виводять список можливих значень, якщо надати відповідному параметру значення `help`.

#### Формат vCard

vCard (RFC 2426) є стандартним форматом даних контактів, отже у ньому можна представити всі відомості інших адресних книг так, щоб програма &kaddressbook; могла отримувати до них доступ. Саме тому цей формат є типовим форматом для виведення інформації.

#### Формат значень, відокремлених комами (CSV)

Форматом значень, відокремлених комами, (Comma-Separated Value) можна скористатися як форматом вхідних даних для заповнення даних певного поля запису контакту і як вихідним форматом, якщо вам потрібно зменшити об’єм даних або впорядкувати дані для наступної обробки. Щоб забезпечити достатню гнучкість відображення полів контакту у CSV, стовпчики може бути вказано за допомогою файлів опису шаблонів CSV, які також використовуються у &kaddressbook; з тією ж метою.

## Параметри командного рядка

&kabcclient; підтримує такі параметри командного рядка:

Параметр | Опис
`--help, --help-all` | Показує довідку з параметрів програми.
`--author` | Показує відомості про авторів програми.
`-v, --version` | Показує відомості щодо версії програми.
`--license` | Показує інформацію про ліцензування програми.
`--verbose` | Виводить корисні повідомлення під час виконання програми.
`--nosave` | Вивести дані так, наче дію виконано, але не виконувати самої дії. Ця дія не змінює вміст адресної книги &kde;; не вставляє, не вилучає і не змінює жодного з існуючих контактів.
`--match-case` | Враховувати регістр символів під час порівняння вхідних даних з даними контакту з адресної книги.
Головні режими роботи:
`-L, --list` | Вивести всі контакти у вказаному форматі експорту даних.
`-A, --add` | Вставити контакти до адресної книги.
`-R, --remove` | Вилучити контакти з адресної книги.
`-M, --merge` | Об’єднати вхідні дані з відповідними даними контактів з адресної книги.
Формати і кодування:
`-if, --input-format` `формат` | Визначає спосіб інтерпретації вхідних даних. Скористайтеся значенням `help`, щоб переглянути список можливих значень.
`-of, --output-format` `формат` | Визначає формат виведених програмою даних. Скористайтеся значенням `help`, щоб переглянути список можливих значень.
`-if-opts, --input-format-options` `параметри` | Особливі параметри налаштування формату вхідних даних. Скористайтеся значенням `help`, щоб переглянути список можливих значень.
`-of-opts, --output-format-options` `параметри` | Особливі параметри налаштування формату вихідних даних. Скористайтеся значенням `help`, щоб переглянути список можливих значень.
`-ic, --input-codec` `кодування` | Кодування символів тексту, яке буде використано для вхідних даних. Скористайтеся значенням `help`, щоб переглянути список можливих значень.
`-oc, --output-codec` `кодування` | Кодування символів тексту, яке буде використано для вихідних даних. Скористайтеся значенням `help`, щоб переглянути список можливих значень.

## Запитання і відповіді

&reporting.bugs; &updating.documentation;

Які файли налаштування використовує &kabcclient;?

Ніяких.

Як називається програма, яка виконує дії &kabcclient;?

Програма, яка виконує дії &kabcclient; називається kabcclient.

Як додати своє питання до цих ЧаП?

Надішліть ваше питання за адресою електронної пошти kevin.krammer@gmx.at.

## Подяки і ліцензія

Авторські права на програму &kabcclient; належать (©2005–2008):

- Kevin Krammer kevin.krammer@gmx.at

Авторські права на документацію належать (©2008):

- Kevin Krammer kevin.krammer@gmx.at

Переклад українською: Юрій Чорноіван yurchor@ukr.net

&underFDL; &underGPL;

## Встановлення

### Як отримати &kabcclient;

&install.intro.documentation;

&kabcclient; є частиною &kde;4, програму не можна отримати окремо.

### Вимоги

Для роботи &kabcclient; потрібно встановити стандартні бібліотеки &kde; (пакунки `kdelibs` і `kdepimlibs`). Щоб зібрати програму з початкових кодів, вам також доведеться встановити пакунки для розробки &Qt;, `kdelibs` і `kdepimlibs`.

Зі списком змін ви можете ознайомитися у файлі `ChangeLog`.

### Налаштування

Для налаштування на запуск &kabcclient; у середовищі стільниці &kde; додаткове налаштування не потрібне.

&documentation.index;