Skip to content

Command line interface for basic file system operations.

License

Notifications You must be signed in to change notification settings

Don-Felice/clifs

Repository files navigation

Lint Test

clifs

Multi-platform command line interface for file system operations.

For installation run:

pip install clifs

After installation all functionality can be accessed typing clifs in the command line, which alone will show a list of installed plugins.

To implement your own plugin best inherit from the clifs.ClifsPlugin class.

Plugins installed by default:

Rename (ren)

Rename files or directories using regular expressions. Supports options such as selecting files and folders by sub-string filter, time of the last modification or creation/change, or by list. Type clifs ren --help for a list of options. By default a preview mode is running to prevent unpleasant surprises.

Example:

Command:

clifs ren ".\some_dir" --recursive --pattern "(?<!_suffix)\.(.*)" --replacement "_suffix.\1"

Output:

Disc Usage (du)

Show disc usage for one or more directories.

Example:

Command:

clifs du "some\dir\on\some_drive" "some\other\dir\on\some_other_drive" "some\other\dir\on\yet_another_drive"

Output:

Directory Tree (tree)

Show a directory tree including sizes of folders and files. Supports options such as controlling the tree depth or showing folders only. Type clifs tree --help for a list of options.

Example:

Command:

clifs tree .\clifs --depth 2

Output:

Streaming Editor (sed)

Edit text files using regular expressions. Runs line by line and gives a preview of the changes by default. Supports options such as picking lines by number, selection of files by sub-string filter, time of the last modification or creation/change, or by list. Type clifs sed --help for a list of options.

You can e.g. remove specific lines choosing -pt ".*[\r\n]+" -l 5 or add lines in specific locations using -pt "[\r\n]+" -rp "\nadded line\n" -l 3,4".

Example:

clifs sed ".\some\place" --pattern "(s\w*)" --replacement "no \1"  --lines 4-6 --recursive

Output:

Copy (cp)

Copy files from one location to the other. Supports selection of files and folders by sub-string filter, time of the last modification or creation/change, or by list. Also supports flattening the folder hierarchy. Type clifs cp --help for a full list of options.

Example:

Command:

clifs cp ".\some_source_dir" ".\some_dest_dir" --recursive --flatten --keep_all

Output:

Move (mv)

Move files from one location to the other. Supports selection of files and folders by sub-string filter, time of the last modification or creation/change, or by list. Also supports flattening the folder hierarchy. Type clifs mv --help for a full list of options.

Example:

Command:

clifs mv ".\some_source_dir" ".\some_dest_dir" --recursive --skip_existing

Output:

Delete (del)

Delete files from the drive. Supports options such as selecting files and folders by sub-string filter, time of the last modification or creation/change, or by list. Type clifs del --help for a full list of options.

Example:

Command:

clifs del ".\some_dir" --recursive --filterstring ".py"

Output:

Backup (backup)

Back up files and folders. Supports backing up via a config file giving multiple source/target pairs and the option to delete files which are not present in the source directory from the corresponding target directory. Type clifs backup --help for a full list of options.

Example:

Command:

clifs backup --dir_source ".\some_source_dir" --dir_dest ".\some_dest_dir" --delete --verbose

Output:

About

Command line interface for basic file system operations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages