If you'd only said "dozens" I'd have have suggested this in the first place, but this is dangerous when you have lots of files and folders. There's a limit to how many things one glob can find -- in some shells, no more than a page or two worth.
The version with two finds has no limit at all.
You're only deleting some of the files. If they're not empty, I doubt you really want them deleted.
You'll need to use the two-find version to do this anyway, since it'd be torturous to get the right directory in one find and use it only once. I'll use 0-9, a-f if that worked for you.
find | xargs rm will run 'rm file1 file2 file3 ...' where find -exec rm would run 'rm file1; rm file2 ; rm file3 ...' so xargs makes it much faster. The -d '\n' is to tell xargs to consider anything but newlines as part of the filename.
The 'echo' is just a test, to print filenames instead of deleting as a test. Remove it once you're sure it's doing what you wanted.
can you tell me a bit more about two finds?
so in my case do I have to give it as 0-9,a-z as it could be anything between 0-9 and a-z as the first letter of the folder. is there any restriction on the # of directories I can search using this wildcard?
also won't the rmdir "${DIR}" delete the full structure? I just need only till the 32 char folder deleted and the rest should be intact.
P.S:
I just confirmed that it will be 32 chars and it will be consistent? so can i use the ??? approach? would that be better?
I'm trying to figure out how to build a small shell script that will find old .shtml files in every /tgp/ directory on the server and delete them if they are older than 10 days...
The structure of the paths are like this:
/home/domains/www.domain2.com/tgp/
/home/domains/www.domain3.com/tgp/... (1 Reply)
I need to find whether there is a file named vijay is there or not in folder named "opt" .I tried "ls *|grep vijay" but it showed permission problem.
so i need to use find command (6 Replies)
The following command works fine in my cshell script:
set Deliverables = `find . -name "eliverables" -print`
The following command does not work:
set LASFiles = `find . -name "*." -print`
In the first example, when tested in an if statement, the script will continue whether a... (3 Replies)
Hi i have a requirement to search for all files in a directory.
the files will start as file1_*,file2_*,file3_*
where the wild card character is a timestamp. so on a particular day i may get files like
file1_1103120042
file1_1102010345
file2_1101093423
file3_1103120042... (3 Replies)
Hi ,
I am looking for a command to change directory in FTP server with wildcard specified. Basically this is what i am trying.
localserver# ftp remoteserver
ftp> ls
41000_42000
42000_43000
ftp> cd 41*
550 CWD failed. '41*' : no such file or directory.
Could anyone please let me know... (6 Replies)
i have this find command on my script as:
for i in `find $vdir -name "$vfile" -mtime +$pday`
the problem with this code is that the sub-directories are included on the search. how do i restrict the search to confine only on the current directory and ignore the sub-directories. please advise.... (7 Replies)
I'm sure this is by design, but using something like
for f in dir/*
do echo $f
done
produces unexpected (to me) results if run against an empty directory. I'd have expected it to not execute the loop, but it actually calls it with f set to 'dir/*'.
Now I know that I'm trying to protect... (2 Replies)
so i have a script that i do not want copies of that script to be roaming around. i want that script to be in only one location on the filesystem, and whoever wants to use it should just link to it.
any idea on how to exit from a script if it is detected that the running version is a copy and... (5 Replies)
How can i tweak the below find command to exclude directory/s -> "/tmp/logs"
find . -type f \( ! -name "*.log*" ! -name "*.jar*" \) -printNote: -path option/argument does not work with the version of find that i have.
bash-3.2$ uname -a
SunOS mymac 5.10 Generic_150400-26 sun4v sparc sun4v (7 Replies)
HI there,
I am trying to find and replace with wildcard with
data
chr1 69511 69511 A G 1/1:0,34:791,78,0:78:34 0/1:55,60:1130,0,1513:99:116 1/1:0,28:630,63,0:63:28 0/1:0,34:626,57,0:57:34
To this
chr1 69511 69511 A G homo hetero homo hetero
Where I find and replace 0/1 with... (3 Replies)