From bc90aad16e0f2918c7c551152de0bf876ab52a3c Mon Sep 17 00:00:00 2001 From: Oskar Date: Wed, 24 Jul 2024 13:58:17 +0200 Subject: script for replacing timestamp in logs for easy testing of -c --- test/test_replace_timestamp.sh | 24 ++++++++++++++++++++++++ trashsys.c | 26 +++++++++++++------------- 2 files changed, 37 insertions(+), 13 deletions(-) create mode 100755 test/test_replace_timestamp.sh diff --git a/test/test_replace_timestamp.sh b/test/test_replace_timestamp.sh new file mode 100755 index 0000000..ffad66e --- /dev/null +++ b/test/test_replace_timestamp.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +LOG_DIR="/home/oskar/.trashsys/log" + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +REPLACEMENT="$1" + +if [ ! -d "$LOG_DIR" ]; then + echo "Directory $LOG_DIR does not exist." + exit 1 +fi + +for file in "$LOG_DIR"/*; do + if [ -f "$file" ]; then + echo "replacing trashed time in: $file" + awk -v replacement="$REPLACEMENT" 'NR % 5 == 0 {print replacement} NR % 5 != 0 {print $0}' "$file" > "$file.tmp" && mv "$file.tmp" "$file" + fi +done + +echo "Done." diff --git a/trashsys.c b/trashsys.c index 2f1803a..2096c2f 100644 --- a/trashsys.c +++ b/trashsys.c @@ -20,19 +20,19 @@ #define LONG_USAGE "tsr [options] filename(s)\n"\ "\n"\ "OPTIONS:\n"\ - " -t /tmp mode. tsr will use /tmp instead of the user's $HOME.\n"\ - " -y Answer 'yes' when pressing return on all [Y / N] prompts.\n"\ - " -n Answer 'no' when pressing return on all [Y / N] prompts.\n"\ - " -f Force answer 'yes' on all [Y / N] prompts. Prompt will not show.\n"\ - " -a Always ask with a [Y / N] prompt.\n"\ - " -l List all trashed files.\n"\ - " -L List all trashed files with more details.\n"\ - " -c Clear all trashed files that are older than the configured time limit.\n"\ - " -C Clear all trashed files regardless of age. Will prompt with a [Y / N] prompt.\n"\ - " -h Display this help message.\n"\ - " -R id Restore a file by ID. Use -l or -L to find the ID associated with the file.\n"\ - " -v Verbose mode, not recommended unless you are a developer.\n"\ - " -i Check for inconsistencies in the logs and trashed files (maybe implement)\n"\ + " -t /tmp mode. tsr will use /tmp instead of the user's $HOME.\n"\ + " -y Answer 'yes' when pressing return on all [Y / N] prompts.\n"\ + " -n Answer 'no' when pressing return on all [Y / N] prompts.\n"\ + " -f Force answer 'yes' on all [Y / N] prompts. Prompt will not show.\n"\ + " -a Always ask with a [Y / N] prompt.\n"\ + " -l List all trashed files.\n"\ + " -L List all trashed files with more details.\n"\ + " -c Clear all trashed files that are older than the configured time limit.\n"\ + " -C Clear all trashed files regardless of age. Will prompt with a [Y / N] prompt.\n"\ + " -h Display this help message.\n"\ + " -R id path(optional) Restore a file by ID. Use -l or -L to find the ID associated with the file.\n"\ + " -v Verbose mode, not recommended unless you are a developer.\n"\ + " -i Check for inconsistencies in the logs and trashed files (maybe implement)\n"\ "\n" #define MODE_NORMAL -1 #define MODE_YES 0 -- cgit v1.2.3