Skip to main content

Remove files/folders. Not drop-in replacement for rm, though

Project description

Remove

  • removes files
  • prints out filepath
  • logs filepath to syslog/sqlite

Motivation

  • being able to clean up folders deep inside tree, like: remove **/node_nodules
  • have some persistent logging on what being removed: in journald/syslog and in sqlite database
  • get list of files to remove: from file
  • get list of files to remove: from command

Alternative: rm -rf **/node_nodules

  • Yes
  • However we would not see what entries being removed

Alternative: rm -rfv **/node_nodules

  • Yes
  • But rm would log each file (inside node_modules) in this case.
  • For a large node_modules - the output is overwhelming. I just need to see which node_modules being removed and keep the output log readable.

Alternative:find and xargs

  • yes
  • But we will end up with rather longer command for a trivial task

Alternative: find . -type d -name node_modules -prune -print -exec rm -fr {} \;

  • yes, it does work!
  • Again, explaining commands like this would take some effort.
  • Or, running commands like this, without fully understanding it - is a risky habit

Example

pip install ngm-remove

cd projects

remove **/node_nodules

journalctl -t remove -r

Use in scripts

  • In scripts, you might need to use shopt -s globstar to enable ** globs
shopt -s globstar # feature available since bash 4.0, released in 2009
remove **/node_modules

Remove files of certain type

find . -type f -exec file {} \; | grep -i --color=never avif > files.txt
remove --input files.txt

Options

remove file1 file2              # Remove file1 and file2
remove --help                   # Show help
remove --version                # Show version
remove --input list.txt         # Get paths from list.txt and remove those
remove --cmd 'cat list.txt'     # Get paths from running command and remove those

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ngm_remove-0.0.9.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ngm_remove-0.0.9-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file ngm_remove-0.0.9.tar.gz.

File metadata

  • Download URL: ngm_remove-0.0.9.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for ngm_remove-0.0.9.tar.gz
Algorithm Hash digest
SHA256 805d4f90e1c21c2709b447e8869db4b14e336d04ec4d7608c72c7b2222be6c9e
MD5 2fdf26a086948000dc381f03a74d1db9
BLAKE2b-256 0591aabc3563aafd1c1923795332deffebacaf21e86b04cb052a45e7f0a78b14

See more details on using hashes here.

File details

Details for the file ngm_remove-0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for ngm_remove-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 9eec6327d6421bf0626de73fe4212bda48686165afa557425f6da6db0bc4f330
MD5 5641a5ab83b1282e819759599942c52b
BLAKE2b-256 47c0371100e7ae16f00484bc0ac806595793179ed30195a9a40c4e9c6666b99a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page