Have you considered using an absolute pathname on the find (i.e. find "$PWD" ... instead of find . ...) and moving to the directory in which you want the files to be created before invoking mseed2sac instead of moving all of the files mseed2sac creates after it is done?
Your script will run faster and use fewer system resources if you change:
to:
And, I assume that you will also actually invoke mseed2sac and mkdir instead of just including them in comments and echo statements. (This also applies to mv if you decide to ignore my first suggestion above.)
This User Gave Thanks to Don Cragun For This Post:
Hello,
I would like to list the files from all directories that has been modified more than 1 month ago, and whose name is like '*risk*log'.
I think a script like this should work :
ls -R | find -name '*risk*.log' -mtime 30 -type f
But it tells me "no file found" though I can see some.
... (4 Replies)
Hello, this is probably another really simple tasks for most of you gurus, however I am trying to make a script which takes an input, greps a specific file for that input, prints back to screen the results (which are directory names) and then be able to use the directory names to move files.... (1 Reply)
I have searched about 30 threads, a load of Google pages and cannot find what I am looking for. I have some of the parts but not the whole. I cannot seem to get the puzzle fit together.
I have three folders, two of which contain different versions of multiple files, dist/file1.php dist/file2.php... (4 Replies)
I would like to transfer all files ending with .log from /tmp and to /tmp/archive (using find )
The directory structure looks like :-
/tmp
a.log
b.log
c.log
/abcd
d.log
e.log
When I tried the following command , it movies all the log files... (8 Replies)
Hi Guys,
What I am looking at doing is to run a C program in my home directory, but output files in multiple directories BUT not at the same instance.
For e.g.
1st instance:
Run program.c and output results in path /aaa/bbb/ccc/
2nd instance:
Run program.c again and output results... (9 Replies)
Hi,
I have to find specific files only in the current directory...not in the sub directories.
But when I use Find command ... it searches all the files in the current directory as well as in the subdirectories. I am using AIX-UNIX machine.Please help..
I am using the below command. And i am... (2 Replies)
Hi everyone
My issue is this, I need to list all the sub directories in a directory that contains files that have the extension *.log, *.dat and *.out . After reviewing the output i need to delete those directories i do not need. I am running Solaris 10 in a bash shell. I have a script that I... (2 Replies)
hi,
i have a requirement to delete all the files from all the directories except some specific directories like archive and log.
for example:
there are following directories such as
A B C D Archive E Log F
which contains some sub directories and files. The requirement is to delete all the... (7 Replies)
Hello,
I'm a first time poster looking for help in scripting a task in my daily routine. I am new in unix but i am attracted to its use as a mac user.
Bear with me...
I have several files (20) that I manually drag via the mouse into several named directories over a network. I've used rsync... (14 Replies)
Discussion started by: SonnyClark
14 Replies
LEARN ABOUT SUNOS
dirname
dirname(3C) Standard C Library Functions dirname(3C)NAME
dirname - report the parent directory name of a file path name
SYNOPSIS
#include <libgen.h>
char *dirname(char *path);
DESCRIPTION
The dirname() function takes a pointer to a character string that contains a pathname, and returns a pointer to a string that is a pathname
of the parent directory of that file. Trailing '/' characters in the path are not counted as part of the path.
If path does not contain a '/', then dirname() returns a pointer to the string "." . If path is a null pointer or points to an empty
string, dirname() returns a pointer to the string "." .
RETURN VALUES
The dirname() function returns a pointer to a string that is the parent directory of path. If path is a null pointer or points to an empty
string, a pointer to a string "." is returned.
ERRORS
No errors are defined.
EXAMPLES
Example 1: Changing the Current Directory to the Parent Directory.
The following code fragment reads a pathname, changes the current working directory to the parent directory of the named file (see
chdir(2)), and opens the file.
char path[[MAXPATHLEN], *pathcopy;
int fd;
fgets(path, MAXPATHLEN, stdin);
pathcopy = strdup(path);
chdir(dirname(pathcopy));
fd = open(basename(path), O_RDONLY);
Example 2: Sample Input and Output Strings for dirname().
In the following table, the input string is the value pointed to by path, and the output string is the return value of the dirname() func-
tion.
+-----------------------------+-----------------------------+
| Input String | Output String |
+-----------------------------+-----------------------------+
|"/usr/lib"" |"/usr" |
+-----------------------------+-----------------------------+
|"/usr/" |"/" |
+-----------------------------+-----------------------------+
|"usr" |"/" |
+-----------------------------+-----------------------------+
|"/" |"/" |
+-----------------------------+-----------------------------+
|"." |"." |
+-----------------------------+-----------------------------+
|".." |"." |
+-----------------------------+-----------------------------+
USAGE
The dirname() function modifies the string pointed to by path.
The dirname() and basename(3C) functions together yield a complete pathname. The expression dirname(path) obtains the pathname of the
directory where basename(path) is found.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO basename(1), chdir(2), basename(3C), attributes(5), standards(5)SunOS 5.10 18 Mar 2002 dirname(3C)