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
# 15  
Old 08-20-2012
On linux use the code from posting #4

Yes the two commands can be combined into a script perhaps something like this:

Code:
#!/bin/sh
#
# rm_list.sh
#
# Usage:  rm_list.sh list_file error_file  removed_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

# 16  
Old 08-21-2012
Quote:
Originally Posted by Chubler_XL
On linux use the code from posting #4

Yes the two commands can be combined into a script perhaps something like this:

Code:
#!/bin/sh
#
# rm_list.sh
#
# Usage:  rm_list.sh list_file error_file  removed_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

Thank you for the requested script and everything is working as expected. But i am getting below exception when running the script.

Code:
./rm_list.sh list_file error_file  removed_file
./rm_list.sh: !: not found

Please advise.

Thanks

Last edited by Franklin52; 08-23-2012 at 04:39 AM.. Reason: Please use code tags for data and code samples
# 17  
Old 08-21-2012
Check for typos/misalignments somewhere around this code:

Code:
if ! [ -f $LIST ]
then
    echo "List file $LIST not found"
    exit 2
fi

I suspect you missed a space or two somewhere.
# 18  
Old 08-21-2012
Quote:
Originally Posted by Corona688
Check for typos/misalignments somewhere around this code:

Code:
if ! [ -f $LIST ]
then
    echo "List file $LIST not found"
    exit 2
fi

I suspect you missed a space or two somewhere.
Not sure. I have tested in many ways and i am still getting the same error.

Thanks

---------- Post updated at 02:32 PM ---------- Previous update was at 10:50 AM ----------

Quote:
Originally Posted by prash358
Not sure. I have tested in many ways and i am still getting the same error.

Thanks
I am seeing this error in solaris but not on linux.
# 19  
Old 08-21-2012
Odd. I think that's supposed to be valid syntax, but Solaris does have a really old and noncompliant shell...

Try putting the ! inside the [ ]

Code:
if [ ! -f $LIST ]

This User Gave Thanks to Corona688 For This Post:
# 20  
Old 08-22-2012
Quote:
Originally Posted by Corona688
Odd. I think that's supposed to be valid syntax, but Solaris does have a really old and noncompliant shell...

Try putting the ! inside the [ ]

Code:
if [ ! -f $LIST ]

Thank you for the quick response. It worked like a GEM!!Smilie

---------- Post updated 08-22-12 at 10:41 AM ---------- Previous update was 08-21-12 at 03:02 PM ----------

Quote:
Originally Posted by prash358
Thank you for the quick response. It worked like a GEM!!Smilie
I have a similar type of files that needs to be removed from the below directory and sub-directory

Code:
cd /photos

find . -name "*12345678*" -ls
156040   58 -rw-r--r--   1 nobody   nobody      58389 Jul 27  2011 ./12345678.jpg
703506    2 -rw-r--r--   1 nobody   nobody       1309 Jul 27  2011 ./thumbnail/12345678-tn.jpg

So by providing the unique content in both files into a input file (i.e) 12345678 , how can we add a line to this script to take care of this operation. There are more than 100k records in the photos directory and as well as thumbnail directory which is the sub directory under photos.

Bottom line i only want to provide 8 digit number and that should delete the files under photos directory and its sub directory (i.e) thumbnails


Thanks

Last edited by Franklin52; 08-23-2012 at 04:39 AM.. Reason: Please use code tags for data and code samples
# 21  
Old 08-22-2012
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

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