Need to delete large set of files (i.e) close to 100K from a directory based on the input file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need to delete large set of files (i.e) close to 100K from a directory based on the input file
# 22  
Old 08-22-2012
Quote:
Originally Posted by Corona688
That would have been nice to know three pages ago...

Code:
while read ID
do
        echo "${ID}.jpg"
        echo "thumbnail/${ID}-tn.jpg"
done < inputfile | xargs 2> errlog

Thank you for the quick response and the deletions are happening as expected but error log capturing and the files which have been deleted are not getting captured as expected from the below script.

Code:
# Usage:  rm_list.sh list_file error_file  removed_file
#
while read ID
do
        [ -f "/photos/${ID}.jpg" ] && echo "/photos/${ID}.jpg"
        [ -f "/photos/thumbnail/${ID}-tn.jpg" ] && echo "/photos/thumbnail/${ID}-tn.jpg"
done < ID >list_file

if [ $# -ne 3 ]
then
   echo "Usage:"
   echo "   rm_list.sh list_file error_file removed_file"
   exit 1
fi
 
LIST=$1
ERR=$2
REM=$3
 
if ! [ -f $LIST ]
then
    echo "List file $LIST not found"
    exit 2
fi
 
xargs rm < $LIST 2> $ERR
nawk -F: 'NR==FNR{d[$1]++;next} !($0 in d)' $ERR $LIST > $REM

Thanks
Moderator's Comments:
Mod Comment Please view this code tag video for how to use code tags when posting code and data.

Last edited by Corona688; 08-22-2012 at 02:03 PM..
# 23  
Old 08-22-2012
You appear to have posted the code from the brief moment in time before I removed the [ -f filename ] && echo filename bits. You don't get missing file errors because it doesn't put missing files into the list in the first place.
# 24  
Old 08-22-2012
Quote:
Originally Posted by Corona688
You appear to have posted the code from the brief moment in time before I removed the [ -f filename ] && echo filename bits. You don't get missing file errors because it doesn't put missing files into the list in the first place.
Thank you for the update and so what can be done in order to log the errors, because when you are looking for the files from the below code, you definitely need an output file from which we can delete the files and at the same time we need an error file.

Code:
while read ID
do
        [ -f "/photos/${ID}.jpg" ] && echo "/photos/${ID}.jpg"
        [ -f "/photos/thumbnail/${ID}-tn.jpg" ] && echo "/photos/thumbnail/${ID}-tn.jpg"
done < ID >list_file

# 25  
Old 08-22-2012
You quoted my correct code in your post last time but didn't use it, use my correct code.
# 26  
Old 08-22-2012
Quote:
Originally Posted by Corona688
You quoted my correct code in your post last time but didn't use it, use my correct code.
Below code was going no where as it is just hanging for long times and i killed the script. Can you please let me know how can i capture error file as i am able to capture list_file.

Code:
# Usage:  rm_list.sh list_file error_file  removed_file
#
while read ID
do
       echo "/pictures/${ID}.jpg"
       echo "/pictures/thumbnail/${ID}-tn.jpg"
done >list_file 

if [ $# -ne 3 ]
then
   echo "Usage:"
   echo "   rm_list.sh list_file error_file removed_file"
   exit 1
fi
 
LIST=$1
ERR=$2
REM=$3
 
if ! [ -f $LIST ]
then
    echo "List file $LIST not found"
    exit 2
fi
 
xargs rm < $LIST 2> $ERR
nawk -F: 'NR==FNR{d[$1]++;next} !($0 in d)' $ERR $LIST > $REM

I am able to capture list_file from the below code:

Code:
while read ID
do
        [ -f "/photos/${ID}.jpg" ] && echo "/photos/${ID}.jpg"
        [ -f "/photos/thumbnail/${ID}-tn.jpg" ] && echo "/photos/thumbnail/${ID}-tn.jpg"
done < ID >list_file

---------- Post updated at 01:43 PM ---------- Previous update was at 01:27 PM ----------

Quote:
Originally Posted by Corona688
That would have been nice to know three pages ago...

Code:
while read ID
do
        echo "${ID}.jpg"
        echo "thumbnail/${ID}-tn.jpg"
done < inputfile | xargs 2> errlog

Btw when i am using this code with input file named ID which contains all 8 digit numbers and once the while loop is executed what is the file named inputfile from your command? if i execute the same script it says it cannot open input file.
# 27  
Old 08-22-2012
If you're reading ID's from standard input, leave <inputfile off.
# 28  
Old 08-22-2012
Quote:
Originally Posted by Corona688
If you're reading ID's from standard input, leave <inputfile off.
So how can i capture the list_file (i.e) files to be deleted and how to capture error_file (i.e) files not found based on ID file.

I can get the list_file (i.e) files to be deleted if i use the below code.

Code:
while read ID
do
        [ -f "/photos/${ID}.jpg" ] && echo "/photos/${ID}.jpg"
        [ -f "/photos/thumbnail/${ID}-tn.jpg" ] && echo "/photos/thumbnail/${ID}-tn.jpg"
done < ID >list_file

can you help me in order to get the error_file capture?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to compare files in 2 folders and delete the large file

Hello, my first thread here. I've been searching and fiddling around for about a week and I cannot find a solution.:confused: I have been converting all of my home videos to HEVC and sometimes the files end up smaller and sometimes they don't. I am currently comparing all the video files... (5 Replies)
Discussion started by: Josh52180
5 Replies

2. Shell Programming and Scripting

If no input then set directory to current

Hi GUys I have a script where i am counting the number of files that the user has read permissions to in a folder . They are asked for this folder at the start if they dont enter anything then i want to be able to do the search on the current directory, can you help me with that part please... (25 Replies)
Discussion started by: johnnybananas
25 Replies

3. Shell Programming and Scripting

Script needed to delete to the list of files in a directory based on last created & delete them

Hi My directory structure is as below. dir1, dir2, dir3 I have the list of files to be deleted in the below path as below. /staging/retain_for_2years/Cleanup/log $ ls -lrt total 0 drwxr-xr-x 2 nobody nobody 256 Mar 01 16:15 01-MAR-2015_SPDBS2 drwxr-xr-x 2 root ... (2 Replies)
Discussion started by: prasadn
2 Replies

4. Shell Programming and Scripting

Sed: Splitting A large File into smaller files based on recursive Regular Expression match

I will simplify the explaination a bit, I need to parse through a 87m file - I have a single text file in the form of : <NAME>house........ SOMETEXT SOMETEXT SOMETEXT . . . . </script> MORETEXT MORETEXT . . . (6 Replies)
Discussion started by: sumguy
6 Replies

5. Shell Programming and Scripting

Help needed - Split large file into smaller files based on pattern match

Help needed urgently please. I have a large file - a few hundred thousand lines. Sample CP START ACCOUNT 1234556 name 1 CP END ACCOUNT CP START ACCOUNT 2224444 name 1 CP END ACCOUNT CP START ACCOUNT 333344444 name 1 CP END ACCOUNT I need to split this file each time "CP START... (7 Replies)
Discussion started by: frustrated1
7 Replies

6. Shell Programming and Scripting

Script to delete files with an input for directories and an input for path/file

Hello, I'm trying to figure out how best to approach this script, and I have very little experience, so I could use all the help I can get. :wall: I regularly need to delete files from many directories. A file with the same name may exist any number of times in different subdirectories.... (3 Replies)
Discussion started by: *ShadowCat*
3 Replies

7. Shell Programming and Scripting

Splitting large file into multiple files in unix based on pattern

I need to write a shell script for below scenario My input file has data in format: qwerty0101TWE 12345 01022005 01022005 datainala alanfernanded 26 qwerty0101mXZ 12349 01022005 06022008 datainalb johngalilo 28 qwerty0101TWE 12342 01022005 07022009 datainalc hitalbert 43 qwerty0101CFG 12345... (19 Replies)
Discussion started by: jimmy12
19 Replies

8. Shell Programming and Scripting

Split a file into multiple files based on the input pattern

I have a file with lines something like. ...... 123_start ...... ....... 123_end .... ..... 456_start ...... ..... 456_end .... ..... 789_start .... .... 789_end (6 Replies)
Discussion started by: abinash
6 Replies

9. Shell Programming and Scripting

Sheel script to Delete a set of files from a given directory

I have a file <filestodelete> containing names of files to to be deleted from a directory <filesstore>. I want a script file which accptes the <filestodelete> and also the location of the directory(<filestore>) and deletes all files matching. Thanks in Advance.. (3 Replies)
Discussion started by: VardhiniVenkat
3 Replies

10. Shell Programming and Scripting

i want to delete a file based on existing file in a directory

hi i am having four files in a directory.like 1)sampleRej 2)exampleRej 3)samplemain 4)examplemain my requirement is i have to search for the rejected files (sampleRej,exampleRej) in a directory.if these files in that directory then i have to delete the main files... (3 Replies)
Discussion started by: srivsn
3 Replies
Login or Register to Ask a Question