X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Ffiles%2Fremove_here_if_not_there.sh;h=403a0f7c7b11c05bec8a3b6b37b4b0efd0a7b183;hb=17c68404134083f61ef0884ddd4ef4df4fdfa992;hp=8e78600ed0588171b00f2b09e998d44920c63d27;hpb=78d8d62332226c326575de341f613a29f3a98151;p=feisty_meow.git diff --git a/scripts/files/remove_here_if_not_there.sh b/scripts/files/remove_here_if_not_there.sh index 8e78600e..403a0f7c 100644 --- a/scripts/files/remove_here_if_not_there.sh +++ b/scripts/files/remove_here_if_not_there.sh @@ -3,8 +3,12 @@ function print_instructions() { echo -e "\n$(basename $0 .sh):\n" + + # calculate the number of columsn in the terminal. + local cols=$(get_maxcols) + echo -e 'this script takes two parameters, a "here" folder and a "there" folder, almost as if it were a copy command. but instead, this removes any file from under the "here" location if it cannot be found in the "there" location. so the "there" location is considered a more definitive template of what should be in "here", such that we strip out what "there" does not have.\n\n -the most" useful way to use this script is for a "here" hierarchy that is a copy of an older version of another "there" hierarchy. the "there" hierarchy may have changed a lot, including new files, changed files, and deleted files. it is a simple operation to copy everything from "there" into "here" (such as by using the command [ cp -R "$there"/* "$here" ] ) , but it is a lot harder to determine what stuff in "here" is out of date and should be removed. that is where this script comes in; it can be run to flush out any older things in "here", rather than requiring the user to manually find all those files. ' | splitter +the most" useful way to use this script is for a "here" hierarchy that is a copy of an older version of another "there" hierarchy. the "there" hierarchy may have changed a lot, including new files, changed files, and deleted files. it is a simple operation to copy everything from "there" into "here" (such as by using the command [ cp -R "$there"/* "$here" ] ) , but it is a lot harder to determine what stuff in "here" is out of date and should be removed. that is where this script comes in; it can be run to flush out any older things in "here", rather than requiring the user to manually find all those files. ' | splitter --maxcol $(($cols - 1)) echo echo "Example Usage:" echo @@ -44,9 +48,9 @@ whack_list="$(mktemp "$TMP/remover_list.XXXXXX")" comm -23 "$here_temp_file" "$there_temp_file" >"$whack_list" -while read line; do - if [ -z "$line" ]; then break; fi - herename="$here/$line" +while read input_text; do + if [ -z "$input_text" ]; then break; fi + herename="$here/$input_text" rm -v "$herename" done <"$whack_list"