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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyutok-0.1.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4413e94f7dc8f103da0177312e1c8472c3ce4153e60074aaad7c219ad86ac7d8 |
|
MD5 | 65ab905d93a22b02715d85d2153358e3 |
|
BLAKE2b-256 | 165b5d9a7013f4f3f048865d6b62f590fb9f8ebeb63efa3fc5c33d3eb2f5db46 |