Code:
#!/bin/bash
# Check for proper number of command line args.
EXPECTED_ARGS=2
E_BADARGS=65
if [ $# -ne $EXPECTED_ARGS ]
then
echo "Usage: `basename $0` /path/to/dir #num"
exit $E_BADARGS
fi
REC_DIR="# New Additions"
FILES=`find -P "$1" -type f -printf "%TY%Tm%Td\t%p\n" | sort -r | head -$2 | cut -f2`
cd "$1"
find "$1/$REC_DIR" -type l -exec rm {} \;
export IFS=$'\n'
for file in $FILES
do
REL_PATH=`echo "$file" | sed -e "s|$1/||g"`
FNAME=`basename "$file"`
MOD_DATE=`ls "$file" -l | cut -d' ' -f6`
ln -s "../$REL_PATH" "./$REC_DIR/($MOD_DATE) $FNAME"
done
export IFS=$' \t\n'
Bookmarks