Sponsored Content
Top Forums Shell Programming and Scripting Deleting files using find command Post 302254827 by sivalives on Wednesday 5th of November 2008 09:17:52 AM
Old 11-05-2008
Assuming to be in present working directory,i think this should help you.
it will search for all files name heapdump,sed will remove the last file,and awk will generate the rm command and ultimately piping to shell.

Solution:

find heapdump* |sed '$d'|awk '{print "rm -f "$1}'|sh

Steps:
Created four files heapdump1,heapdump2,heapdump3,heapdump4

robot$:ls -ltr
-rw-r--r-- 1 robot mqm 0 Nov 5 2008 heapdump1
-rw-r--r-- 1 robot mqm 0 Nov 5 2008 heapdump2
-rw-r--r-- 1 robot mqm 0 Nov 5 2008 heapdump3
-rw-r--r-- 1 robot mqm 0 Nov 5 2008 heapdump4

robot$:find heapdump*
heapdump1
heapdump2
heapdump3
heapdump4

robot$:find heapdump* |sed '$d'
heapdump1
heapdump2
heapdump3
(Excluded the last file heapdump4)

robot$:find heapdump* |sed '$d'|awk '{print "rm -f "$1}'
rm -f heapdump1
rm -f heapdump2
rm -f heapdump3

& finally
robot$:find heapdump* |sed '$d'|awk '{print "rm -f "$1}'|sh
will remove all files except heapdump4 !
Hope this is helps Smilie
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Deleting files with zero length using ls command

Hi, How can I use ls command to Delete all files with zero length in a given path using ls command (I guess awk is required!)? Thanks. (6 Replies)
Discussion started by: GNMIKE
6 Replies

2. Shell Programming and Scripting

Little bit weired : Find files in UNIX w/o using find or where command

Yes , I have to find a file in unix without using any find or where commands.Any pointers for the same would be very helpful as i am beginner in shell scritping and need a solution for the same. Thanks in advance. Regards Jatin Jain (10 Replies)
Discussion started by: jatin.jain
10 Replies

3. Shell Programming and Scripting

command for deleting log files based on some condition

Hello, Can anyone pls. provide me with the command for deleting files older then 15 days with a restriction to keep at least 5 files in a directory even if they are older then 15 days. Any help will be highly appreciated. Thanks, Pulkit (4 Replies)
Discussion started by: pulkit
4 Replies

4. Shell Programming and Scripting

deleting files inside shell script - ( using find)

Hi, I am using the command find /apps/qualdb/gpcn/scripts/cab_outbound/archive -name 'z*' -mtime +28 -exec rm {} \; in unix command prompt for deleting the files in my unix system under the specfied folder. It was succesfull. But when i running this command inside a shell script name... (2 Replies)
Discussion started by: Jayaram.Nambura
2 Replies

5. Shell Programming and Scripting

Deleting all empty files in sub directories with a command

Hello Friends, Im trying to delete empty files in subdirectories with a command. I can find them checking only one directory in each step and then show them with my command like below moreover i could not add removing part: ls -l */* | awk '{if ($5==0) printf "%3s %2d %s... (5 Replies)
Discussion started by: EAGL€
5 Replies

6. Shell Programming and Scripting

what is the find to command to find the files created last 30 days

what is the find to command to find the files created last 30 days (5 Replies)
Discussion started by: rajkumar_g
5 Replies

7. Red Hat

find . -name '*.req' -mtime +2 -exec rm {} \; not deleting files

i want to remove *.req files from directory /opt/FFCL8001/oracle/inst/apps/FFCL8001_lhrho/logs/appl/conc/log i executed command find . -name '*.req' -mtime +2 -exec rm {} \; but it is running since hours and free space in /opt is same as old 7.4 GB . why it is not removing files ? (5 Replies)
Discussion started by: rehantayyab82
5 Replies

8. UNIX for Dummies Questions & Answers

Crontab deleting files command question

Hello out there, Our system has a pdf generator that creates pdf files. We dont need them pas 120 days. So I have this command in my crontab. I currently set it to "0" for testing. But normally have it set to -mtime 120 to remove files out of the folders from PDF out to several other potential... (7 Replies)
Discussion started by: vsekvsek
7 Replies

9. Shell Programming and Scripting

[Solved] Issue with deleting files through find

Hi, I have a script similar to this #!/bin/ksh cd /orcl/bir/eod_badfiles find ./ -type f -name "*.csv" -mtime +6 -exec rm -f {} \; find ./ -type f -name "*.bad" -mtime +6 -exec rm -f {} \; cd /orcl/bir find ./ -type f -name "*.log" -mtime +6 -exec rm -f {} \; This was working fine in one... (5 Replies)
Discussion started by: Gangadhar Reddy
5 Replies

10. Shell Programming and Scripting

Find command to find a word from list of files

I need to find a word '% Retail by State' in the folder /usr/sas/reports/RetailSalesTaxallocation. When I tried like below, -bash-4.1$ cd /usr/sas/reports/RetailSalesTaxallocation -bash-4.1$ find ./ -name % Retail by State find: paths must precede expression: Retail Usage: find ... (10 Replies)
Discussion started by: Ram Kumar_BE
10 Replies
find(1) 						      General Commands Manual							   find(1)

Name
       find - find files

Syntax
       find pathname-list  expression

Description
       The  command  recursively  descends the directory hierarchy for each pathname in the pathname-list (that is, one or more pathnames) seeking
       files that match a boolean expression written in the primaries given below.  In the descriptions, the argument n is used as a decimal inte-
       ger where +n means more than n, -n means less than n , and n means exactly n.

Options
       -atime n       Tests true if the file has been accessed in n days.

       -cpio output   Writes current file on output in the format (5120-byte records) specified in the reference page.	The output can be either a
		      file or tape device.  If output is a tape device the B key must be used to read data from the tape.

       -ctime n       Tests true if the file has been changed in n days.

       -depth	      Always true; causes descent of the directory hierarchy to be done so that all entries in a directory are acted on before the
		      directory  itself (that is, postorder instead of preorder).  This can be useful when is used with to transfer files that are
		      contained in directories without write permission.

       -exec command  Tests true if specified command returns a 0 on exit.  The end of the command must be punctuated by an escaped semicolon.	 A
		      command argument `{}' is replaced by the current pathname.

       -group gname   Tests true if group ID matches specified group name.

       -inum n	      Tests true if the file has inode number n.

       -links n       Tests true if the file has n links.

       -mount	      Tests true if the current file is on the same file system as the current starting pathname.

       -mtime n       Tests true if the file has been modified in n days.

       -name filename Tests  true  if  the  filename  argument matches the current file name.  Normal Shell argument syntax may be used if escaped
		      (watch out for `[', `?' and `*').

       -newer file    Tests true if the current file has been modified more recently than the argument file.

       -ok command    Executes specified command on standard output, then standard input is read and command executed only upon response y.

       -perm onum     Tests true if file has specified octal number.  For further information, see If onum is prefixed by a minus sign, more  flag
		      bits (017777) become significant and the flags are compared: (flags&onum)==onum.	For further information, see

       -print	      Prints current pathname.

       -size n	      Tests true if the file is n blocks long (512 bytes per block).

       -type c	      Tests  true  if  file is c type ( c = b, block special file: c, character special file: d, directory: f, plain file: l, sym-
		      bolic link: p, type port: s, type socket).

       -user uname    Tests true if file owner is login name or numeric user ID.

       The primaries may be combined using the following operators (in order of decreasing precedence):

       1)  A parenthesized group of primaries and operators (parentheses are special to the Shell and must be escaped).

       2)  The negation of a primary (`!' is the unary not operator).

       3)  Concatenation of primaries (the and operation is implied by the juxtaposition of two primaries).

       4)  Alternation of primaries (`-o' is the or operator).

Examples
       To remove all files named `a.out' or `*.o' that have not been accessed for a week:
       find / ( -name a.out -o -name '*.o' ) 
       -atime +7 -exec rm {} ;

       To find all files on the root file system type:
       find / -mount -print

       To write all the files on the root file system to tape:
       find / -mount -print -cpio /dev/rmt?h
       cpio -iBvt < /dev/rmt?h

       To find all the mount points on the root file system type:
       find / ! -mount -print

Files
See Also
       cpio(1), sh(1), test(1), cpio(5), fs(5)

																	   find(1)
All times are GMT -4. The time now is 07:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy