Skip to main content

Inspired by a tool I can not find anymore on the internet: utok 1.5. I use it to clean up path settings in large shell script configuration setups.

Project description

pyUTok - Unique TOKens in python

Inspired by a tool I can not find anymore on the internet: utok 1.5. I use it to clean up path settings in large shell script configuration setups.

utok has the following options:

usage: utok [-h] [--delimiter DELIMITER] [--delete-list DELETE_LIST]
            [--version]
            token [token ...]

positional arguments:
  token

optional arguments:
  -h, --help            show this help message and exit
  --delimiter DELIMITER, -s DELIMITER
                        Allows one to change the delimiter. If you use csh you
                        might want to set your path with something like: set
                        path = (`utok -s \ /usr/local/bin $path`) (default: :)
  --delete-list DELETE_LIST, -d DELETE_LIST
                        Allows one to remove tokens from a list, to remove
                        /usr/sbin and . from a path in Bourne Shell one might
                        use: PATH=`utok $PATH -d .:/usr/sbin` (default: None)
  --version, -V         show program's version number and exit

Availability

The latest version should be available at https://gitlab.com/berhoel/python/pyutok

Description

utok, Unique TOKens, takes a list of arguments with delimiters and reject all duplicate entries. Here is a example using MANPATH:

$ echo $MANPATH
/usr/man:/usr/local/man
$ MANPATH=`utok $HOME/local/man /usr/local/man $MANPATH /usr/openwin/man`
$ export MANPATH
$ echo $MANPATH
/home/sven/local/man:/usr/local/man:/usr/man:/usr/openwin/man

Even though /usr/local/man was included a second time it is only in the MANPATH once, though it is now before the /usr/man entry instead of after it.

This version adds the -d option to remove tokens. To remove . from the PATH one would do the following:

$ echo $PATH
/usr/local/bin:.:/usr/bin:/usr/sbin
$ PATH=`utok -d .: $PATH`
$ echo PATH
/usr/local/bin:/usr/bin:/usr/sbin
$ export PATH

Requested Features

  • Have a way to to push an element further back in the path. A work around of this would be be something like

    utok `utok a:b:c:d -d b` b
    

    , which returns: a:c:d:b

  • Have a way to include multiple -s options.

Feedback

Comments or bug reports/fixes go to Berthold Höllmann bhoel@web.de.

Copyright © 2020 Berthold Höllmann bhoel@web.de

Original C version: Copyright © 1998 Sven Heinicke sven@zen.org

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyutok-0.1.4.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

pyutok-0.1.4-py2.py3-none-any.whl (4.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyutok-0.1.4.tar.gz.

File metadata

  • Download URL: pyutok-0.1.4.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.7.3 Linux/5.5.7-1-default

File hashes

Hashes for pyutok-0.1.4.tar.gz
Algorithm Hash digest
SHA256 acd44d221e1368ef4aee53c89552e16947b62853bec2d414b67de0dcd2d7a7d1
MD5 dc42bffa98d8785a171098023e9f313c
BLAKE2b-256 5dff450e962c03cae5e345e2ede555f5d5f5ed57f8da9b34e4e071a52d4aac95

See more details on using hashes here.

Provenance

File details

Details for the file pyutok-0.1.4-py2.py3-none-any.whl.

File metadata

  • Download URL: pyutok-0.1.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.7.3 Linux/5.5.7-1-default

File hashes

Hashes for pyutok-0.1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4413e94f7dc8f103da0177312e1c8472c3ce4153e60074aaad7c219ad86ac7d8
MD5 65ab905d93a22b02715d85d2153358e3
BLAKE2b-256 165b5d9a7013f4f3f048865d6b62f590fb9f8ebeb63efa3fc5c33d3eb2f5db46

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page