08-20-2010
Help - Using Find command on dynamic files on KSH
Hi Forum.
When I run the following find command, I get the desired results:
find . \( -name a.out -o -name '*.o' -o -name 'core' \) -type f -ls
I want for my script to dynamically calculate and assign a variable var1 to contain all the files that I want to search instead of hard-coding.
For ex:
var1="-name a.out -o -name '*.o' -o -name 'core'"
but when trying to execute the following command :
find . "\(" "$var1" "\)" -type f -ls
I'm getting the following error:
find: 0652-017 -name a.out -o -name '*.o' -o -name 'core' is not a valid option.
Please help.
Thank you.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
My requirement is to create a KSH to generate the SQL select statement in oracle with all the columns and optional where condition if given the table name as input to the program
Have any of you worked with a similar requirement? Can you give me some inputs?
Regards,
Kousikan (2 Replies)
Discussion started by: kousikan
2 Replies
2. UNIX for Advanced & Expert Users
Hi experts,
I have a simple shell script as follows.
#!/bin/ksh
FIND_STRING="\( -name 'testfile*.Z' -o -name 'DUMMY_*' \) "
find /tmp -type f $FIND_STRING -print
When I run this with ksh -x testscript, I get the following output.
+ FIND_STRING=\( -name 'testfile*.Z' -o -name... (6 Replies)
Discussion started by: kodermanna
6 Replies
3. Shell Programming and Scripting
I have the following FTP embedded in a Ksh script on AIX 5.3
ftp -n <<WHATEVER
open 10.101.26.218
user hcistats *******
ascii
put $thupdatefile
put $thcollectfile
quit
WHATEVER
Here is what my script returns:
... (3 Replies)
Discussion started by: troym72
3 Replies
4. Shell Programming and Scripting
set -A allfiles `find $usrhtml -type f`
i am trying to populate this array with the find command. It works fine when find is looking through a single directory but when i add a new subdirectory the files in the subdirectory get duplicated. Can anyone help me and fix this so each files in... (1 Reply)
Discussion started by: bjhum33
1 Replies
5. Shell Programming and Scripting
Hi there,
I'm encountering problems on an AIX system when using following in my script.
find . -name *.edi -type f -exec sh -c 'scp {} $user@$server:$path || exit 5; mv {} $sent || exit 7' \;
the error i get is following
find: 0652-018 An expression term lacks a required... (4 Replies)
Discussion started by: Kerberos
4 Replies
6. Shell Programming and Scripting
Hi!
I made a shell script which is offering menu choice. I made it on RHEL & then with little bit changes I was able to run successfully on AIX/ksh.
Script is working fine with no issues other than a little one i.e., There is one choice in which I can list out and delete some files from a... (10 Replies)
Discussion started by: sukhdip
10 Replies
7. Shell Programming and Scripting
Hello,
I am trying to use regex wtih find command in KSH. For some reason it is not working as expected.
Input:
comm_000_abc_0102.c
comm_000_abc.c
456_000_abc_1212.cpp
456_000_abc_.cpp
Expected Output:
comm_000_abc_0102.c
kkm_000_abc_8888.cpp
(Basically I want to find all... (6 Replies)
Discussion started by: vinay4889
6 Replies
8. Shell Programming and Scripting
Hi ,
I've learnt that the following command will remove the files from the given folder for given no.of days
find /home/etc -type f -atime -10 -exec rm -f {} \;
But how can I change the above command that will move the files to another specified directory instead of removing the... (1 Reply)
Discussion started by: smile689
1 Replies
9. Shell Programming and Scripting
Hello,
Hitting a wall on this one. When at the command prompt it works fine:
# find /home/testuser -name 'PAINT*canvasON.txt'
/home/testuser/PAINT_canvasON.txt
# pwd
/home/testuser
# ls -l PAINT*canvasON.txt
-rw-r--r-- 1 root user 23 Feb 07 02:58 PAINT_canvasON.txt... (2 Replies)
Discussion started by: seekryts15
2 Replies
10. Shell Programming and Scripting
Hello there wonderful people,
I am running on Solaris 10 and with the following ksh version:
strings /bin/ksh | grep Version | tail -2
@(#)Version M-11/16/88i
Suppose I want to copy files that end in _v2 from underneath /dir1/dir2/save directory to /dir1/dir2. Basically, what I’m... (12 Replies)
Discussion started by: ejianu
12 Replies
LEARN ABOUT DEBIAN
file::find::object::rule::procedural
File::Find::Object::Rule::Procedural(3pm) User Contributed Perl Documentation File::Find::Object::Rule::Procedural(3pm)
NAME
File::Find::Object::Rule::Procedural - File::Find::Object::Rule's procedural interface
SYNOPSIS
use File::Find::Object::Rule;
# find all .pm files, procedurally
my @files = find(file => name => '*.pm', in => @INC);
DESCRIPTION
In addition to the regular object-oriented interface, File::Find::Object::Rule provides two subroutines for you to use.
"find( @clauses )"
"rule( @clauses )"
"find" and "rule" can be used to invoke any methods available to the OO version. "rule" is a synonym for "find"
Passing more than one value to a clause is done with an anonymous array:
my $finder = find( name => [ '*.mp3', '*.ogg' ] );
"find" and "rule" both return a File::Find::Object::Rule instance, unless one of the arguments is "in", in which case it returns a list of
things that match the rule.
my @files = find( name => [ '*.mp3', '*.ogg' ], in => $ENV{HOME} );
Please note that "in" will be the last clause evaluated, and so this code will search for mp3s regardless of size.
my @files = find( name => '*.mp3', in => $ENV{HOME}, size => '<2k' );
^
|
Clause processing stopped here ------/
It is also possible to invert a single rule by prefixing it with "!" like so:
# large files that aren't videos
my @files = find( file =>
'!name' => [ '*.avi', '*.mov' ],
size => '>20M',
in => $ENV{HOME} );
AUTHOR
Richard Clamp <richardc@unixbeard.net>
COPYRIGHT
Copyright (C) 2003 Richard Clamp. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
File::Find::Object::Rule
perl v5.14.2 2012-05-05 File::Find::Object::Rule::Procedural(3pm)