Ich versuche, die Dateigröße in einem für Menschen lesbaren Format mit dem folgenden Befehl "find" anzuzeigen
find $BASE_DIR/ -user $USER -size +$LOWERSIZELIMIT -mtime +$MY_MTIME -type f -printf "%s %p\n" 2> /dev/null |
sort -nr |
head -n $NUMFILES >> $TESTFILE
So sieht meine Funktion zum Auffinden großer Dateien aus. Es wird $ 1 als Argument verwendet, um den Basisverzeichnispfad an den Befehl find zu übergeben.
function find_files {
#echo "In find files"
# $1 = base directory from where to start the search
find $1/ -user $USER -size +$LOWERSIZELIMIT -mtime +$MY_MTIME -type f -printf "%s %p\n" 2> /dev/null | sort -nr | head -n $NUMFILES >> $TESTFILE
if [[ -s $TESTFILE ]] ;
then
echo "***********************************************************************" >> $DUMPFILE
echo "***********************************************************************" >> $DUMPFILE
echo "***********************************************************************" >> $DUMPFILE
echo "***********************************************************************" >> $DUMPFILE
#cat $TESTFILE
cat $TESTFILE >> $DUMPFILE
rm $TESTFILE
return 0
else
return 1
fi
}
$BASE_DIR/
und $1/
brauche keine abschließenden Schrägstriche, aber sie sollten wirklich in Anführungszeichen stehen, wie in:find "$1" -user …