A small command line library for daily tasks.
Project description
Installation
pip install -U cmdu
build
pip install -r requirements.txt
rm -rf dist
python -m build
python -m twine upload dist/* -u __token__ -p {token}
Commands
|-- cmdu
| |-- file-mod
| | |-- hosts
| | | |-- add
| | | |-- delete
| | | |-- delete-all
| |
| |-- check-list
| | |-- create
| | |-- check
| | |-- uncheck
| |
| |-- lnes
| | |-- set-nu
| | |-- count
| | |-- trim
| | |-- split
| | |-- skip
| | |-- filter
| | |-- filter-not
| |
| |-- convert
| | |-- j2j
| | |-- j2y
| | |-- y2j
| |
file-mod hosts add
add a host to specific ip
# input
127.0.0.1 abc.com
python -m cmdu file-mod hosts add -ip 127.0.0.1 -host abcx.com
# output
127.0.0.1 abc.com abcx.com
file-mod hosts delete
delete a host from specific ip
# input
127.0.0.1 abc.com abcx.com
python -m cmdu file-mod hosts delete -ip 127.0.0.1 -host abcx.com
# output
127.0.0.1 abc.com
file-mod hosts delete-all
delete all hosts from specific ip
# input
127.0.0.1 abc.com
127.0.0.2 abcx.com
python -m cmdu file-mod hosts delete-all -ip 127.0.0.2
# output
127.0.0.2 abcx.com
check-list create
create line by line record to check list
# input
line 1
line 2
line 3
python -m cmdu check-list create
# output
[ ] 000001 |line 1
[ ] 000002 |line 2
[ ] 000003 |line 3
check-list load
load check list from different format (simple, json, yaml) into other format (simple, json, yaml)
# input
[ ] 000001 |line 1
[x] 000002 |line 2
[X] 000003 |line 3
python -m cmdu check-list --simple-in --yaml-out
# out
- checked: false
id: '000001'
line: item 1
- checked: true
id: '000002'
line: item 2
- checked: true
id: '000003'
line: item 3
check-lst check
check the item by number
# input
[ ] 000001 |line 1
[ ] 000002 |line 2
[ ] 000003 |line 3
python -m cmdu check-list check 2 3
# out
[ ] 000001 |line 1
[X] 000002 |line 2
[X] 000003 |line 3
check-lst uncheck
uncheck the item by number
# input
[ ] 000001 |line 1
[x] 000002 |line 2
[X] 000003 |line 3
python -m cmdu check-list check 1 2 3
# out
[ ] 000001 |line 1
[ ] 000002 |line 2
[ ] 000003 |line 3
lines set-nu
set line number to each line, pad 000000 |
to the left
python -m cmdu lines set-nu
# input line 1 line 2 # output 000001 |line 1 000002 |line 2
lines count
Count the number of lines
python -m cmdu lines count
# input line 1 line 2 # output 2
lines trim
Trim the line by delimiter
- Trim right
# input xline 1x bline 2b xline 3x python -m cmdu lines trim --right -c x # output xline 1 bline 2b xline 3
- Trim left
# input xline 1x bline 2b xline 3x python -m cmdu lines trim --left -c x # output line 1x bline 2b line 3x
- Trim both side
# input
xline 1x
bline 2b
xline 3x
python -m cmdu lines trim --both -c x
# output
line 1
bline 2b
line 3
lines split
Split the line by delimiter
# input
a, b, c
python -m cmdu lines split --d ","
# output
a
b
c
lines skip
Skip the first n lines
python -m cmdu lines skip 2
# input line 1 line 2 line 3 # output line 3
lines filter
Filter any match line
- filter by regex, any matching in regex will make the whole line accepted
# input line 1 line 2 line 3 python -m cmdu filter --regex "^line 1$" # output line 1
lines filter not
Filter any not match line
- filter by regex, any matching in regex will make the whole line rejected
# input line 1 line 2 line 3 python -m cmdu filter-not --regex "^line 1$" # output line 2 line 3
convert j2j
convert a json input (from stdin) as json output (to stdout)
- with raw json(no indentation and new line)
python -m cmdu json2json
# input {"a": 1, "b": 2} python-m cmdu json2json # output {"a": 1, "b": 2}
- with pretty format
python -m cmdu json2json --pretty
# input {"a": 1, "b": 2} python-m cmdu json2json --pretty # output { "a": 1, "b": 2 }
- with pretty format and indentation as 2
python -m cmdu json2json --pretty --indent 2
# input {"a": 1, "b": 2} python-m cmdu json2json --pretty --indent 2 # output { "a": 1, "b": 2 }
convert j2y
convert a json input (from stdin) as yaml output (to stdout)
- with json as yaml
# input {"a": 1, "b": 2} python-m cmdu j2y # output a: 1 b: 2
convert y2j
convert a yaml input (from stdin) as json output (to stdout)
- with raw json
# input a: 1 b: 2 python-m cmdu y2j # output {"a": 1, "b": 2}
- with pretty format
python -m cmdu yaml2json --pretty
# input a: 1 b: 2 python -m cmdu yaml2json --pretty # output { "a": 1, "b": 2 }
- with pretty format and indentation as 2
python -m cmdu yaml2json --pretty --indent 2
# input a: 1 b: 2 python -m cmdu yaml2json --pretty --indent 2 # output { "a": 1, "b": 2 }
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 cmdu-0.0.15.tar.gz
.
File metadata
- Download URL: cmdu-0.0.15.tar.gz
- Upload date:
- Size: 2.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dde4c50d003308e4e2880c1ee263281f58d7f8fdd5bb528cbbf45e9bb8a63561 |
|
MD5 | 510c1342a026b16a0ef6e9c6c02746af |
|
BLAKE2b-256 | 46e972ee9106adce01b586f01e40cac39a42c05c3231112f70e19810ddb11c14 |
File details
Details for the file cmdu-0.0.15-py3-none-any.whl
.
File metadata
- Download URL: cmdu-0.0.15-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d274c631488dcf4028ba94350bfc3d04ae922f3a76f5ceeb9d1869eab248c82d |
|
MD5 | 9e049fc98a6790d9862ae4b5482e44dd |
|
BLAKE2b-256 | 5d2f737fb96278d31fb7f5ca88612ae13f620d7ebf2101ab1cecbf2a73b7eaf9 |