command line tool for replacing/removing whitespaces or other patterns of file- and directory names.
Project description
File and Directory Renaming Command Line Tool
Spasco is a glorified replace function: it lets you remove or replace characters occurring in file or directory names. By default it replaces whitespaces by underscores but you can easily customize the characters you want to remove/replace.
Example
If you have files or directories containing whitespaces in your current working
directory you can easily replace them by underscores using spasco
:
❯ ls
test dir
test file
❯ spasco
You can rename 2 files and/or directories.
Before After
──────────────────────────
'test file' 🡆 'test_file'
'test dir' 🡆 'test_dir'
──────────────────────────
❯ OK to proceed with renaming? [y/n] y
All done! 1 files and 1 directories were renamed! ✨💄✨
❯ ls
test_dir
test_file
Contents
Features
Spasco's renaming operation can be modified. For example, the search-value (default: whitespaces) and the new-value (default: underscore) can be changed.
- search-values other than whitespaces and new-values other than underscores can be selected temporarily or permanently
- files/dirs within directories can be renamed (recurse into dirs)
- scope of the renaming action can be limited (patterns with wildcard characters, filename expansion)
- a log record of the renaming actions can be recorded
Installation
Spasco is currently developed on Python 3.7 and can be easily downloaded, built and installed via pip
.
pip install git+https://github.com/NiklasTiede/Spasco
Configuration
Spasco has a configuration file that allows you to change its default behaviour. The file is generated automatically when running spasco.
[VALUE-SETTINGS]
search_value = ' '
new_value = _
[LOG-SETTINGS]
logging_turned_on = False
logger_filename = spasco.log
logger_location = /home/user
Configuration is done through the command line interface. Logging can be turned on and off and you can customize the new search-/new-value permanently.
❯ spasco config --help
usage: spasco config [--show-setting] [-o true/false] [-n [filename]] [-l [pathname]] [-h, --help ]
search-value and new-value can be changed. Logging to record all renaming actions as log file can be activated.
optional arguments:
--show-settings Returns your current settings for logging and renaming.
-h, --help Show this help message and exit.
log settings:
-o [true/false] Logging is turned on/off (default: off).
-f [filename] Set a new filename for the logger.
-l [pathname] Set a new file location for the logger.
renaming settings:
-s [search_value] Set a new 'search-value' permanently.
-n [new_value] Set a new 'new-value' permanently.
How to use Spasco
The built-in usage help gives you all the information you need.
❯ spasco --help
usage: spasco [-t [file_or_dir]] [-s [search_value]] [-n [new_value]]
[-p [pattern_only]] [-e [except_pattern]] [-d] [-f] [-r] [-i]
[-v] [-h]
{config} ...
Spasco is a glorified replace function. By default it replaces whitespaces
of all file- and directory names within your current working directory by
underscores.
src: https://github.com/NiklasTiede/Spasco
optional arguments:
-t [file_or_dir] Select a single file or directory for renaming.
-s [search_value] Define custom search-value (default: ' ').
-n [new_value] Define custom new-value (default: '_').
-p [pattern_only] Only files/dirs containing the pattern are renamed.
-e [except_pattern] Only files/dirs not containing the pattern are
renamed.
-d, --dirs-only Only directories are renamed.
-f, --files-only Only files are renamed.
-r, --recursive Recurse into directories.
-i, --immediately Skip security question, renaming preview and execute
immediately.
-v, --version Show version number and exit.
-h, --help Show this help message and exit.
log and renaming configuration:
config Sub-command to interact with spasco's logging and
rename settings.
Make your files more computer-friendly 😄
Example 1: Removing Characters
For converting all dash symbols just type:
spasco -s '-'
# changing the new value permamnently:
spasco config --help
# removing characters
spasco config -n ''
spasco -s '.py' # removes all .py file endings
Example 2: Replacing patterns other than whitespaces
text
Example 3: set search or new-values permanently
Here I show you how to change spasco's configuration.
text
Example 4: Turning logging on
text
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.