#!/bin/sh ## ## SCRIPT: F2b_anyfile4Dir_LIST_FILESdirs-all_allLEVS_find.sh ## ## PURPOSE: List ALL files in a directory AND in its ## subdirectories at ALL levels below --- using 'find'. ## ## METHOD: Puts the output of the 'find' command in a text file. ## ## Shows the text file using a text-file viewer of the user's ## choice. ## ## HOW TO USE: In Nautilus, select any file in the 'navigated to' directory. ## Then right-click and choose this Nautilus script to run. ## ## Created: 2010mar17 ## Changed: 2010apr11 Touched up the comments. Added logic to ## determine the directory for the OUTFILE. ## Changed: 2010sep16 Added header and trailer to listing. ## Changed: 2011may11 Get 'nautilus-scripts' directory via an include script. ## Changed: 2011may23 Changed wording in the header section of the list ## Changed: 2012feb29 Changed the script name in the comment above. ## FOR TESTING: (show statements as they execute) # set -x ################################################# ## Prepare the output file. ## ## If the user has write-permission on the ## current directory, put the file in the pwd. ## Otherwise, put the file in /tmp. ################################################# CURDIR="`pwd`" OUTFILE="${USER}_temp_dirAllFilesRecursiveLIST_find.txt" if test ! -w "$CURDIR" then OUTFILE="/tmp/$OUTFILE" fi if test -f "$OUTFILE" then rm -f "$OUTFILE" fi ##################################### ## Generate a heading for the listing. ##################################### DATETIME=`date '+%Y %b %d %a %T%p'` echo "\ ..................... $DATETIME ............................ List of FILES (and DIRECTORIES) under directory $CURDIR --- ALL levels (recursive). ........................................................................... " > "$OUTFILE" ####################################### ## Add the 'find' output to the listing. ####################################### # find . -type f -name '*' -print | sort >> "$OUTFILE" find . -name '*' -print | sort >> "$OUTFILE" ##################################### ## Add a trailer to the listing. ##################################### SCRIPT_BASENAME=`basename $0` SCRIPT_DIRNAME=`dirname $0` echo "\ ........................................................................... This list was generated by script $SCRIPT_BASENAME in directory $SCRIPT_DIRNAME Used command find . -name '*' -print | sort ..................... $DATETIME ............................ " >> "$OUTFILE" ###################### ## Show the list. ###################### ## . $HOME/.gnome2/nautilus-scripts/.set_VIEWERvars.shi . $HOME/.freedomenv/feNautilusScripts/set_DIR_NautilusScripts.shi . $DIR_NautilusScripts/.set_VIEWERvars.shi $TXTVIEWER "$OUTFILE" &