DOKK / manpages / debian 12 / isoquery / isoquery.1.en
ISOQUERY(1)   ISOQUERY(1)

isoquery - search and display various ISO codes (country, language, …)

isoquery [OPTION …] [ISO codes]

This manual page documents briefly the isoquery command. It can be used to generate a tabular output of the ISO standard codes provided by the package iso-codes. It parses the JSON files and shows all included ISO codes or just matching entries, if specified on the command line. Moreover, it’s possible to get all available translations for the ISO standard.

This program follows the usual GNU command line syntax, with long options starting with two dashes ('-'). isoquery supports the following options:

-i, --iso=STANDARD

The ISO standard to use. Possible values: 639-2, 639-3, 639-5, 3166-1, 3166-2, 3166-3, 4217, 15924 (default: 3166-1)

-p, --pathname=PATHNAME

Use PATHNAME as prefix for the data files (default: /usr/share/iso-codes/json)

-l, --locale=LOCALE

Use this LOCALE for output

-n, --name

Name for the supplied codes (default)

-o, --official_name

Official name for the supplied codes. This may be the same as --name (only applies to ISO 3166-1)

-c, --common_name

Common name for the supplied codes. This may be the same as --name (only applies to ISO 639-2, 639-3, and 3166-1)

-0, --null

Separate entries with a NULL character instead of newline

-f, --flag

Show country flags with regional indicator symbol letters (only applies to ISO 3166-1)

-h, --help

Show summary of options

-v, --version

Show program version and copyright

If called without any command line options, isoquery will print a table of all ISO 3166-1 codes. The first three columns contain the alpha-2 code, the alpha-3 code, and the numerical code assigned to the country listed in the fourth column.

$ isoquery
AW      ABW     533     Aruba
[…]
ZW      ZWE     716     Zimbabwe

If you need only some countries, you can specify any of the codes in the first three columns to cut down the output.

$ isoquery so nor 484
SO      SOM     706     Somalia
NO      NOR     578     Norway
MX      MEX     484     Mexico

Should you need the translations of the countries' names, just specify in which LOCALE you’d like to see the output. Please note that the original English name will be shown if there is no translation available for the specified LOCALE.

$ isoquery --locale=nl fr de es
FR      FRA     250     Frankrijk
DE      DEU     276     Duitsland
ES      ESP     724     Spanje

If your terminal supports the unicode regional indicator symbol letters, you can use the --flag command line option. Those letters can be displayed as a country flag.

$ isoquery --flag --locale=nl fr de es
FR      FRA     250     🇫🇷      Frankrijk
DE      DEU     276     🇩🇪      Duitsland
ES      ESP     724     🇪🇸      Spanje

All of the above works for different ISO standards as well, so you can switch to the more extensive standard ISO 3166-2 by using the --iso command line option. The columns are ISO 3166-2 code, subset type (e.g. State, Province, etc.), parent, and name. The third column (parent) may be empty.

$ isoquery --iso=3166-2
AD-02   Parish          Canillo
[…]
ZW-MW   Province        Mashonaland West

Codes which have been deleted from ISO 3166-1 are available in ISO 3166-3. The columns are alpha-3 code, alpha-4 code, numeric code, comment, withdrawal date, and name. The columns for numeric code, comment, and withdrawal date may be empty.

$ isoquery --iso=3166-3
AFI     AIDJ    262             1977    French Afars and Issas
ANT     ANHH    532             1993-07-12      Netherlands Antilles
[…]
YUG     YUCS    891             1993-07-28      Yugoslavia, Socialist Federal Republic of
ZAR     ZRCD    180             1997-07-14      Zaire, Republic of

For ISO 639-2, the first three columns are the alpha-3 code, the bibliographic code, and the alpha-2 code. The second and third columns may be empty.

$ isoquery --iso=639-2
aar             aa      Afar
abk             ab      Abkhazian
ace                     Achinese
[…]
zun                     Zuni
zxx                     No linguistic content; Not applicable
zza                     Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki

You can trim down the results by specifying only some codes. Moreover, the option to get translated names is also available.

$ isoquery --iso=639-2 --locale=pt vi bo kl
vie             vi      Vietnamita
bod     tib     bo      tibetano
kal             kl      Kalaallisut; Greenlandic

If you want to use ISO 639-3, the displayed columns are alpha-3, scope, type, alpha-2, bibliographic, and the language name. Both alpha-2 and bibliographic may be empty.

$ isoquery -i 639-3 aal new spa guc
aal     I       L                       Afade
new     I       L                       Newari
spa     I       L       es              Spanish
guc     I       L                       Wayuu

ISO 639-5 is also available. The displayed columns are alpha-3 and name.

$ isoquery -i 639-5 aus tut
aus     Australian languages
tut     Altaic languages

You can get selected translations of currency names from the ISO 4217 standard by using the following command. The first of the columns is the alpha-3 code, and the second one is the numerical code assigned to the currency. The name of the currency is shown in the third column.

$ isoquery --iso=4217 --locale=da cad 392
CAD     124     Canadisk dollar
JPY     392     Yen

If you need to get script names, you can use the ISO 15924 table. The first of the columns is the alpha-4 code, and the second one is the numerical code assigned to the script. The name of the script is shown in the third column.

$ isoquery --iso=15924 jpan latn 280
Jpan    413     Japanese (alias for Han + Hiragana + Katakana)
Latn    215     Latin
Visp    280     Visible Speech

By default, the JSON files provided by the iso-codes package will be used.

/usr/share/iso-codes/json/iso_639-2.json

/usr/share/iso-codes/json/iso_639-3.json

/usr/share/iso-codes/json/iso_639-5.json

/usr/share/iso-codes/json/iso_3166-1.json

/usr/share/iso-codes/json/iso_3166-2.json

/usr/share/iso-codes/json/iso_3166-3.json

/usr/share/iso-codes/json/iso_4217.json

/usr/share/iso-codes/json/iso_15924.json

Dr. Tobias Quathamer <toddy@debian.org>

2023-02-28 3.3.3