From 3dae91723b0b5d42637c294bfc3f0c61cf792f0f Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Mon, 21 Mar 2016 09:49:53 +0100 Subject: Add move-home-litter --- move-home-litter | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 move-home-litter diff --git a/move-home-litter b/move-home-litter new file mode 100644 index 0000000..5f3eba6 --- /dev/null +++ b/move-home-litter @@ -0,0 +1,48 @@ +#!/bin/bash + +# Copyright (c) 2006, 2009, 2014, 2016 Peter Palfrader +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +set -e +set -u + +BASE="$HOME" +TGTDIR="$HOME/.litter" +WHITELIST="$HOME/.litter-whitelist" +RECENT="$HOME/recent" # make sure it's in the whitelist + +YESTERDAY="$(date -d '1 day ago' '+%F')" +TGT="$TGTDIR/$YESTERDAY" + +cd "$BASE" +mkdir -p "$TGT" + +find -mindepth 1 -maxdepth 1 ! -name '.*' -printf '%f\0' | + while read -d $'\0' fn; do + if grep -q -F -x "$fn" "$WHITELIST"; then + continue + fi + mv "$fn" "$TGT" +done +rmdir --ignore-fail-on-non-empty "$TGT" +if [ -e "$TGT" ] ; then + ln -s --relative --no-dereference -f "$TGT" "$RECENT" +fi -- cgit v1.2.3