u
This commit is contained in:
74
dots/bin/obsolete/tp.sh.orig
Executable file
74
dots/bin/obsolete/tp.sh.orig
Executable file
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# klevstul :: 24.06
|
||||
|
||||
this_file_name=`basename "$0"`
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "error: path to file is missing."
|
||||
echo "usage: '$this_file_name [path_to_file]'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sync_dir_sym=/home/${USER}/syncDir
|
||||
syncdir_env_var=SYNCDIR_${HOSTNAME}
|
||||
sync_dir=${!syncdir_env_var} # '!' to use the name and not the value
|
||||
cwd=$(pwd)
|
||||
|
||||
# nifty for debugging:
|
||||
log_file="/home/poq/syncDir/0_downloads/tp.log"
|
||||
#echo
|
||||
#echo "debugging values:"
|
||||
#echo "input args: $@"
|
||||
#for i in "$@"; do echo " $i"; done;
|
||||
#echo "sync_dir_sym: ${sync_dir_sym}"
|
||||
#echo "sync_dir: ${sync_dir}"
|
||||
#echo "cwd: ${cwd}"
|
||||
#echo
|
||||
#echo "---" >> ${log_file}
|
||||
#echo "$@" >> ${log_file}
|
||||
|
||||
# loop through all files to delete
|
||||
for input_file in "$@"; do
|
||||
|
||||
# lf file manager sends multiple files as one input parameter, split by with newlines
|
||||
# https://superuser.com/questions/284187/bash-iterating-over-lines-in-a-variable
|
||||
declare -a theArray
|
||||
|
||||
while read -r line
|
||||
do
|
||||
theArray+=("$line")
|
||||
done <<< "$input_file"
|
||||
|
||||
for line in "${theArray[@]}"
|
||||
do
|
||||
bare_line=${line}
|
||||
#echo "$line" >> ${log_file}
|
||||
|
||||
# if input file has no path specified
|
||||
if [[ ${line} != *"/"* ]]; then
|
||||
line="${cwd}/${line}"
|
||||
fi
|
||||
|
||||
# substitute parts of the old path, from using the symlink folder, to the non-symlink folder
|
||||
# example:
|
||||
# "/home/poq/syncDir/0_downloads/topBanner.jpg" > "/home/poq/nextcloud/syncDir/0_downloads/topBanner.jpg"
|
||||
#
|
||||
# please note, if a file outside of the sync directory is tp'ed, then the replacement will not happen.
|
||||
# this is great, as trash-put should work normally outside of the sync-dir. and for files residing outside,
|
||||
# no replacemant should be done.
|
||||
|
||||
# new_file=${original_string//old_substring/new_substring}
|
||||
new_file=${line//$sync_dir_sym/$sync_dir}
|
||||
|
||||
if [[ -f "${new_file}" ]] || [[ -d "${new_file}" ]] ; then
|
||||
#trash-put "${new_file}"
|
||||
trash-put "${bare_line}"
|
||||
#echo "trash-put ${new_file}"
|
||||
#echo "${new_file}" >> ${log_file}
|
||||
else
|
||||
echo "error: unable to delete \"${new_file}\""
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
done
|
||||
Reference in New Issue
Block a user