01-31-2007
At the end of you script create a file in the same directory with a name you like.
At the start of your script search for files which are newer than the file you created in your previous run.
script:
-------------------------------------------------------------------
#!/usr/bin/ksh
cd /somedir
for FILE in `find ./* -prune -type f -newer ./TIMEFILE`
do
# do whatever you wanna do with the new files.
done
touch ./TIMEFILE
-------------------------------------------------------------------
if you want to include subdirectories as well replace
find ./* -prune -type f -newer ./TIMEFILE
by
find . -type f -newer ./TIMEFILE
The touch command makes sure the file TIMEFILE always has a timestamp of when the last run of your script ended.
The find command will find only find files which have been place in the directory of the timestamp time of TIMEFILE
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
From within a directory, how do I determine whether I have write permission for it.
test -w pwd ; echo ?
This doesn't work as it returns false, even though I have write permission. (4 Replies)
Discussion started by: Sniper Pixie
4 Replies
2. UNIX for Advanced & Expert Users
Hi,
when I execute some simple commands on my solaris system, I am getting the following warning message:
Could anybody tell me what could be the reason
Ex:- If I give the command,
which ls
Warning: cannot determine current directory
... (15 Replies)
Discussion started by: axes
15 Replies
3. UNIX for Dummies Questions & Answers
I am uploading files that need to be processed prior to uploading. I will put the files in a directory. My question is how can I write an easy process to kick off a script once a file has been added? Is there an easy way to determine if a file has been added to a directory?
Thanks (1 Reply)
Discussion started by: goodmis
1 Replies
4. Shell Programming and Scripting
Hi there,
I wonder if it is possible the determine a name of a directory which is different on various hosts.
Let me try to explain.
I have the directory /tmp/dir1/dir2/canchangedir.
This directory name is different on various hosts.
I need to use the directory name, independent from the... (2 Replies)
Discussion started by: ejdv
2 Replies
5. Solaris
Hi,
When I include a user to the secondary group "sys" GID=3 in Solaris 9 OS I'm not able to login. I get these error. The user home directory and the shell exists. Is this because of any security hardening.
# su - agent
No directory!
# su agent
su: No shell
# grep taddm /etc/passwd... (14 Replies)
Discussion started by: agent001
14 Replies
6. Solaris
Currently have an issue were we use a script to load a security .dat key. The script was failing to load stating "Unable to open directory". I ssh'd into the server and performed an ls -la on the /cdrom directory. I show the usual cdrom0 but the directory on the cd should be key but is showing... (0 Replies)
Discussion started by: hypp1e
0 Replies
7. Shell Programming and Scripting
Hi All,
I'm just wondering how can i determined if there's a file in directory and put it in a logs?
dir="/home/test/"
Please advise,
Thanks,
Use code tags, thanks. (1 Reply)
Discussion started by: nikki1200
1 Replies
8. Shell Programming and Scripting
Possible filenames:
CDD_Whatever.txt
DDD_Whatever.txt
If the file prefix = CDD, I'd like to prefix every person ID (second column in my examples below) on the file with "c-"
If the file prefix = DDD, I'd like to prefix ever person ID with "d-"
Input:
Desired Output:
Any help... (2 Replies)
Discussion started by: lrluis
2 Replies
9. Shell Programming and Scripting
Hey everyone,
I need to select all files that were added to a specific directory in the past 5 mins and copy them over to a different directory. I am using HP-UX OS which does not have support for amin, cmin, and mmin. B/c of this, I am creating a temp file and will use the find -newer command... (7 Replies)
Discussion started by: mattkoz
7 Replies
10. Shell Programming and Scripting
Hello,
I am attempting to find and copy the two most recently added files to a specific directory, that fit a specific format.
I was able to find the command to list the two most recently added files in directory: ls -1t | head -n 2 The command lists the two files names in a vertical list,... (11 Replies)
Discussion started by: mattkoz
11 Replies
FIND(1) General Commands Manual FIND(1)
NAME
find - find files meeting a given condition
SYNOPSIS
find directory expression
EXAMPLES
find / -name a.out -print
# Print all a.out paths
find /usr/ast ! -newer f -ok rm {} ;
# Ask before removing
find /usr -size +20 -exec mv {} /big ;
# move files > 20 blks
find / -name a.out -o -name '*.o' -exec rm {};
# 2 conds
DESCRIPTION
Find descends the file tree starting at the given directory checking each file in that directory and its subdirectories against a predi-
cate. If the predicate is true, an action is taken. The predicates may be connected by -a (Boolean and), -o (Boolean or) and ! (Boolean
negation). Each predicate is true under the conditions specified below. The integer n may also be +n to mean any value greater than n, -n
to mean any value less than n, or just n for exactly n.
-name s true if current filename is s (include shell wild cards)
-size n true if file size is n blocks
-inum n true if the current file's i-node number is n
-mtime ntrue if modification time relative to today (in days) is n
-links ntrue if the number of links to the file is n
-newer ftrue if the file is newer than f
-perm n true if the file's permission bits = n (n is in octal)
-user u true if the uid = u (a numerical value, not a login name)
-group gtrue if the gid = g (a numerical value, not a group name)
-type x where x is bcdfug (block, char, dir, regular file, setuid, setgid)
-xdev do not cross devices to search mounted file systems
Following the expression can be one of the following, telling what to do when a file is found:
-print print the file name on standard output
-exec execute a MINIX command, {} stands for the file name
-ok prompts before executing the command
SEE ALSO
test(1), xargs(1).
FIND(1)