Skip to main content

File tools: reflink, copy, remove, mkfile, fileblocks, filestat, filesize

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.13.tar.gz (7.8 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.13-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ngm_remove-0.0.13.tar.gz
Algorithm Hash digest
SHA256 314dd1cb697b5a7cebde3150474f502ece5e079069559bc2f37930ee33668727
MD5 77e1a65a227b2e2973291694b5dab3d7
BLAKE2b-256 b03c29752e63a004b08114fcdc5d528897004b2c98509f99e80f8aa880d0ad49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ngm_remove-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 6aee3435258006dacf9e3a2c1820cd484744051c1250824727e405dd07ff05dc
MD5 8a6207dd221bd35f11754f59f8290d5a
BLAKE2b-256 cf62f11a7b83cecc23c86c07e9013a09db21e88a0e20d4b59042f364aa87d83f

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