06-27-2001
You are on the right track. However two things:
(1) Suggest you use the <B>-regex</B> switch of find for pattern matches (and not the -name switch with wildcards). That is how I do it, using regular expressions.
(2) Suggest you execute/test your <B>-exec</B> switch with mv (move) to a temporary directory before executing rm (remove) to insure things work as planned
This is always a good practice, regardless of the level of skill and confidence. Moving files to a temporary directory before deleting has a lot of benefits, most of all, you will not ruin your day with a typo or other mistake!!
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Can we copy a file to multiple directories using a single command line , i tried with * didnt work for me
cp /tmp/a.kool /tmp/folder/*/keys/
I am tryn to copy a.kool file to all keys folder in /tmp folder. is something i am missing ? (4 Replies)
Discussion started by: logic0
4 Replies
2. Shell Programming and Scripting
I have the following requirement.
PATHA =/opr/itr/
PATHB=/etc/data/
FILENAME=*abc*
file name is wild carded as there could be many files with name abc anywhere
I tried mv $PATHA/$FILENAME $PATHB
and I got a error that /etc/data/ can not be created
Could any one please help.
... (1 Reply)
Discussion started by: onlyjayaram
1 Replies
3. Shell Programming and Scripting
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)
Discussion started by: phudgens
3 Replies
4. Solaris
Hi,
Under my parent diectory I have directory named "Response" in many of its subfolders. I am interested to see all files with extention .pro in Response Directory. I am giving following command -
find . -name "Response" -type d | xargs -i ls -lrt {}/*.pro
but it is not giving result.
... (3 Replies)
Discussion started by: sanjay1979
3 Replies
5. UNIX for Dummies Questions & Answers
I have the following snippet to concatenate about a hundred csv-files:
for file in *csv; do cat $file >> newfile; done
This line works, but before I was experimenting with the following line, which is more intuitive and is a tad more robust:
for file in *.csv; do cat $file >> newfile; done
Can... (2 Replies)
Discussion started by: figaro
2 Replies
6. Shell Programming and Scripting
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)
Discussion started by: Sgiri1
3 Replies
7. Shell Programming and Scripting
Hi
I am having a csv file in which lots of data are available wherein i need to find a particular kind of data and replace it with null value.
here is the sample data..
I need to find the string starting with 404-064- and up to the first space i have to remove the data and keep the... (4 Replies)
Discussion started by: aemunathan
4 Replies
8. Shell Programming and Scripting
I have a script to fix permissions which is made up of blocks like:
FS_ROOT=/home/shared/Photos
FS_EXCLUDE=( \( -path */.webviews -o -path */.thumbnails \) -prune -o )
find $FS_ROOT ${FS_EXCLUDE} -type d -not -perm 2770 -exec chmod 2770 "{}" \;
That fragment works as expected, but no matter... (3 Replies)
Discussion started by: mij
3 Replies
9. Shell Programming and Scripting
I want to look if there is any file inside a specific directory which was modified before 2 days.
I wrote the find command, but the problem is there is one directory and that is a random directory generated by unix, so not sure on how to code for that on the find command.
find... (5 Replies)
Discussion started by: srini0603
5 Replies
10. UNIX for Beginners Questions & Answers
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)
Discussion started by: daashti
3 Replies
LEARN ABOUT CENTOS
tmpwatch
TMPWATCH(8) System Administrator's Manual TMPWATCH(8)
NAME
tmpwatch - removes files which haven't been accessed for a period of time
SYNOPSIS
tmpwatch [-u|-m|-c] [-MUXadfqstvx] [--verbose] [--force] [--all]
[--nodirs] [--nosymlinks] [--test] [--fuser] [--quiet]
[--atime|--mtime|--ctime] [--dirmtime] [--exclude path]
[--exclude-user user] [--exclude-pattern pattern]
time dirs
DESCRIPTION
tmpwatch recursively removes files which haven't been accessed for a given time. Normally, it's used to clean up directories which are
used for temporary holding space such as /tmp.
When changing directories, tmpwatch is very sensitive to possible race conditions and will exit with an error if one is detected. It does
not follow symbolic links in the directories it's cleaning (even if a symbolic link is given as its argument), does not switch filesystems
(including non-trivial bind mounts), skips lost+found directories owned by the root user, and only removes empty directories, regular
files, symbolic links, and on some systems also unused sockets.
By default, tmpwatch dates files by their atime (access time), not their mtime (modification time). If files aren't being removed when ls
-l implies they should be, use ls -u to examine their atime to see if that explains the problem.
If the --atime, --ctime or --mtime options are used in combination, the decision about deleting a file will be based on the maximum of
these times. The --dirmtime option implies ignoring atime of directories, even if the --atime option is used.
The time parameter defines the threshold for removing files. If the file has not been accessed for time, the file is removed. The time
argument is a number with an optional single-character suffix specifying the units: m for minutes, h for hours, d for days. If no suffix
is specified, time is in hours.
Following this, one or more directories may be given for tmpwatch to clean up.
OPTIONS
-u, --atime
Make the decision about deleting a file based on the file's atime (access time). This is the default.
Note that the periodic updatedb file system scans keep the atime of directories recent.
-m, --mtime
Make the decision about deleting a file based on the file's mtime (modification time) instead of the atime.
-c, --ctime
Make the decision about deleting a file based on the file's ctime (inode change time) instead of the atime; for directories, make
the decision based on the mtime.
-M, --dirmtime
Make the decision about deleting a directory based on the directory's mtime (modification time) instead of the atime; completely
ignore atime for directories.
-a, --all
Remove all file types, not just regular files, symbolic links and directories. On systems where tmpwatch can remove unused sockets,
make the decision only based on file times, ignoring possible use of the socket.
-d, --nodirs
Do not attempt to remove directories, even if they are empty.
-f, --force
Remove root-owned files even if root doesn't have write access (akin to rm -f).
-l, --nosymlinks
Do not attempt to remove symbolic links.
-q, --quiet
Report only fatal errors.
-s, --fuser
Attempt to use the "fuser" command to see if a file is already open before removing it. Not enabled by default. Does help in some
circumstances, but not all. Dependent on fuser being installed in /sbin. Not supported on HP-UX or Solaris.
-t, --test
Don't remove files, but go through the motions of removing them. This implies -v.
-U, --exclude-user=user
Don't remove files owned by user, which can be an user name or numeric user ID.
-v, --verbose
Print a verbose display. Two levels of verboseness are available -- use this option twice to get the most verbose output.
-x, --exclude=path
Skip path; if path is a directory, all files contained in it are skipped too. If path does not exist, it must be an absolute path
that contains no symbolic links.
-X, --exclude-pattern=pattern
Skip paths matching pattern; if a directory matches pattern, all files contained in it are skipped too. pattern must match an abso-
lute path that contains no symbolic links.
SEE ALSO
cron(1), ls(1), rm(1), fuser(1)
AUTHORS
Erik Troan <ewt@redhat.com>
Preston Brown <pbrown@redhat.com>
Nalin Dahyabhai <nalin@redhat.com>
Miloslav Trmac <mitr@redhat.com>
4th Berkeley Distribution 2009-10-15 TMPWATCH(8)