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
File details
Details for the file pyutok-0.1.3.tar.gz
.
File metadata
- Download URL: pyutok-0.1.3.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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2563938da473e2c36cbf778e8f8199a44c3286491def7382d136c2733561017 |
|
MD5 | c9aadaec68623fa77317aca3ffbfe52b |
|
BLAKE2b-256 | c974ced9c742bd54194c5288a52e36dac95df81abaa8153a079de65fa919c352 |
Provenance
File details
Details for the file pyutok-0.1.3-py2.py3-none-any.whl
.
File metadata
- Download URL: pyutok-0.1.3-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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2be024518cab74df23de3fd177716ded35b54e32bf3b9a9c9218957990cd48c6 |
|
MD5 | 834c7a146a010f5fa5d0980473b3a2a8 |
|
BLAKE2b-256 | adc508b1d6f73e6512fca7c336b55d05ba2009f17d1008cc56a8ec2928336c50 |