catmandu1p
Librecat command line tools
Usage
catmandu [{-D | -D2 | -D3}]
[-I
path]
[-L
path]
[COMMAND]
[-?hqv]
[long
options ...]
[ARGS]
catmandu --version
catmandu help
catmandu convert
JSON
to
YAML
<
file.json
catmandu convert
YAML
to
JSON
<
file.yaml
catmandu convert
YAML
<
file.yaml
#
'to
JSON'
is
implicit
catmandu convert
MARC
<
records.mrc
catmandu convert
MARC
--fix
'marc_map(245,title)'
<
records.mrc
catmandu convert
MARC
--fix
myfixes.txt
<
records.mrc
catmandu convert
OAI
--url
https://biblio.ugent.be/oai
catmandu convert
SRU
--base
http://www.unicat.be/sru
--query
dna
catmandu import
JSON
to
MongoDB
--database_name
mydb
<
records.json
catmandu import
MARC
to
MongoDB
--database_name
mydb
<
records.mrc
catmandu import
MARC
to
ElasticSearch
--index_name
mydb
<
records.mrc
catmandu import
MARC
to
ElasticSearch
--index_name
mydb
--fix
'marc_map("245a","title")'
<
records.mrc
catmandu export
MongoDB
--database_name
mydb
--bag
data
to
JSON
catmandu export
MongoDB
--database_name
mydb
--bag
data
to
JSON
--fix
'retain("_id")'
catmandu export
Solr
--url
http://localhost:8983/solr
to
JSON
catmandu export
ElasticSearch
--index_name
mydb
to
JSON
catmandu copy
MongoDB
--database_name
mydb
to
ElasticSearch
--index_name
mydb
catmandu config
catmandu count
test1
catmandu delete
test1
-q
'title:"My
Rabbit"'
do importer(OAI,url:"http://biblio.ugent.be/oai")
end
store:
test1:
package: MongoDB
options:
database_name: mydb
catmandu import
JSON
to
test1
<
records.json
Commands
help COMMAND
Documentation about command line options.
config
Display the contents of the catmandu.yml files in your project.
convert IMPORTER [OPTIONS] [[--fix FIX]] to EXPORTER [OPTIONS]
Convert data from one format to another format with help of Catmandu::Importers and Catmandu::Exporters. All options given on the command line will be send to the Importer or Exporter as initialization parameters. E.g.
catmandu convert OAI --url BASEURL --metadataPrefx PREFIX \to \CSV --header 1 --sep_char '|'
Look at the documentation of all the importers and exporters to see which options are available.
All importers accept one or more --fix options with the name of a fix file or file command.
catmandu convert JSON --fix fixes.txtcatmandu convert JSON --fix 'remove_field(abc)'
The JSON exporter is implicit and is optional.
catmandu convert YAML to JSONcatmandu convert YAML # shorter
copy STORE [OPTIONS] [-q QUERY] [--limit LIMIT] [[--fix FIX]] to STORE [OPTIONS]
Copy items from one Catmandu::Store to another. All options given on the command line will be send to the Stores as initialization parameters. Optionally a QUERY and LIMIT can be provided to selectively export items from the Store. Optionally a FIX can be provided to be executed on all the items before they are stored.
count STORE [OPTIONS]
Count the number of items in a Catmandu::Store. All options given on the command line will be send to the store as initialization parameters. E.g.
catmandu count MongoDB --database_name mydb --bag data
delete STORE [OPTIONS] [-q QUERY]
Delete items from a Catmandu::Store. All options given on the command line will be send to the store as initialization parameters. Optionally a QUERY can be provided to select the items to delete. E.g.
catmandu delete MongoDB --database_name mydb --bag data -q "title:Delete me"
export STORE [OPTIONS] [-q QUERY] [--limit LIMIT] [[--fix FIX]] to EXPORTER [OPTIONS]
Export items from a Catmandu::Store using a Catmandu::Exporter. All options given on the command line will be send to the Store or Exporter as initialization parameters. Optionally a QUERY and LIMIT can be provided to selectively export items from the Store. Optionally a FIX can be provided to be executed on all the items before they are exporter by the exporter.
E.g.
catmandu export MongoDB --database_name mydb --bag data -q "title:Perl"
import IMPORTER [OPTIONS] [[--fix FIX]] to STORE [OPTIONS]
Import items from a Catmandu::Importer to a Catmandu::Store. All options given on the command line will be send to the Importer or Store as initialization parameters. Optionally a FIX can be provided to be executed on all the items before they are stored into the Store.
catmandu import JSON to MongoDB --database_name mydb < records.json
info [OPTIONS]
List installed Catmandu modules (importers, exporters, stores, and fixes).
run [FIX]
Execute a fix script or run an interactive Fix shell.
Options
-
-v -
Verbose output. This includes progress of operations.
-
-h
-
-?
-
--lib-path PATH
-
-I -
Specifies Perl library include paths, like perl's -I option. This option is repeatable.
-
--load-path PATH
-
-L PATH -
Search upwards from this path for configuration files and accompanying lib directories. This option is repeatable.
-
--var [NAME]=[VALUE] -
Catmandu such as convert, import and export accept command line variables that can be read by any fix script provided. For instance, if provenance information need to be added to the output, then this can be provided via the command line:
$ catmandu convert MARC --fix myfixes.txt --var source=Springer --var date=2016 < data.mrcwith myfixes.txt a file like:
add_field(source,{{source}})add_field(data,{{date}})...(other fixes)...
-
--debug [LEVEL]
-
-D[LEVEL] -
Set the debugging level for Catmandu. LEVEL is one of:
1 - WARN messages2 - INFO messages3 - DEBUG messagesRequires an installation of Log::Log4perl and Log::Any::Adapter::Log4perl. By default an internal log4perl configuration file is used that sends all debug messages to stderr. Optionally in the catmandu.yml the path to a log4perl configuration file can be set. E.g.
catmandu.yml:log4perl: /etc/log4perl.conforlog4perl: "log4perl.category.Catmandu=$level,$appenderlog4perl.appender.STDOUT=Log::Log4perl::Appender::Screenlog4perl.appender.STDOUT.stderr=0log4perl.appender.STDOUT.utf8=1log4perl.appender.STDOUT.layout=PatternLayoutlog4perl.appender.STDOUT.layout.ConversionPattern=%d [%P] - %p %l %M time=%r : %m%nlog4perl.appender.STDERR=Log::Log4perl::Appender::Screenlog4perl.appender.STDERR.stderr=0log4perl.appender.STDERR.utf8=1log4perl.appender.STDERR.layout=PatternLayoutlog4perl.appender.STDERR.layout.ConversionPattern=%d [%P] - %l : %m%n"See also Catmandu::Logger to enable logging for your own Catmandu packages.
Options
-
--fix EXPRESSION
-
--fix FILE -
When exporting or storing apply a fix EXPRESSION or all the fixes in FILE on each item. This option is repeatable.
-
--start NUM -
When exporting or storing data skip the first NUM items.
-
--total NUM -
When exporting of storing data process only a total NUM of items.
-
--replace -
When storing data first delete all the items in the Store or Bag.
-
--query QUERY
- --cql-query QUERY | -q QUERY
-
When a Store is searchable execute and return the results. Using the --cql-query or -q option the CQL query language can be used (if supported).
-
--sort SORT
-
--sru-sortkeys SORT -
Set the sort order for the results returned from a searchable Store. --sru-sortkeys is only available if the Store supports CQL.
-
--limit NUM -
Limit the number of results returned from the searchable results to NUM.
-
--count -
Report the number of items processed.
-
--version -
Return the installed version of Catmandu.
Releases
6 releases since Debian 8 (Jessie); the text changed 5 times.
--sort since Debian 10 (Buster);
--sru-sortkeys since Debian 10 (Buster);
--var since Debian 9 (Stretch).
--from-OPTION until Debian 9 (Stretch);
--from-bag until Debian 9 (Stretch);
--from-importer until Debian 9 (Stretch);
--from-store until Debian 9 (Stretch);
--into-OPTION until Debian 9 (Stretch);
--into-bag until Debian 9 (Stretch);
--into-exporter until Debian 9 (Stretch);
--into-store until Debian 9 (Stretch).