Stuck with a simple find problem


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Stuck with a simple find problem
# 8  
Old 05-21-2007
find A -name "*.so" | grep '\/3\/'
# 9  
Old 05-21-2007
find /path/sol | grep .so | grep 3

1) find /path/sol ----> would list all files in /path/sol
2) grep .so --> would list all files that end with .so
3) grep 3 --> would list all files (path) that contains "3"

Adhir
# 10  
Old 05-21-2007
Have a look at my first post.

I have it already done with a combination of for and find. Smilie

I wanted it to be done with find alone.

Is there any option? Smilie
# 11  
Old 05-21-2007
I do not find any do loop or for loop in the line mentioned above.

I am using piping here.

find /path/sol | grep .so | grep 3

Adhir
# 12  
Old 05-21-2007
You are using grep Smilie
# 13  
Old 05-21-2007
Means grep via piping.

I want it to be done via only find.
# 14  
Old 05-21-2007
Hi.

My understanding is that you wish to identify any file, anyname.so, that is in a directory named sol, so that the important part of the pathname is sol/anyname.so. There may be other .so files in other directories, but you do not wish to identify those.

If that is so, then here is a script that creates a small tree, including sol and sol/sol and creates files t(n).so in those directories. It then uses the regular expression feature in find to identify the paths which contain the string of interest. In particular there are .so files in directories not named sol, which should not be listed:
Code:
#!/bin/sh

# @(#) s1       Demonstrate regular expressions in find.

echo " sh version: $BASH_VERSION"

# Destroy and re-create directory structure.

DIRS="a sol sol/b sol/b/sol sol/sol"
rm -rf $DIRS
mkdir $DIRS

i=1
for d in $DIRS
do
  touch $d/t${i}.so
  (( i += 1))
done

echo
echo " Small tree showing files *.so in directories."
tree .

echo
echo " Results from find using regular expression predicate regex:"
find . -regex '.*/sol/[^/]*so'

exit 0

Producing:
Code:
% ./s1
 sh version: 2.05b.0(1)-release

 Small tree showing files *.so in directories.
.
a
/     t1.so
readme.txt
s1
sol
/     b
/     /     sol
/     /     /     t4.so
/     /     t3.so
/     sol
/     /     t5.so
/     t2.so

 Results from find using regular expression predicate regex:
./sol/b/sol/t4.so
./sol/sol/t5.so
./sol/t2.so

There are many examples of find at http://amitsharma.linuxbloggers.com/how_to_find.htm ... cheers, drl
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Stuck on a text find and append task

Hi, Bit of a tricky one for first post and hoping someone can help me out here. I've got some code that I'm trying to consolidate by taking the first line where it says "OUTPUT", remove the : and append it after a space where the are occurences of ".csv", and then take the next occurence of... (3 Replies)
Discussion started by: owl4528
3 Replies

2. Shell Programming and Scripting

Please help me with a simple problem

Hi, I have a very simple script like below: for n in 10 20 30 do for a in 30 40 50 60 70 80 do for r in 2 3 4 5 6 7 do m=$((r*a)) count=1 while do echo "a = " $a ", m = " $m ", n = " $n ... (2 Replies)
Discussion started by: Dark2Bright
2 Replies

3. Shell Programming and Scripting

korn shell display lenght problem!!! i got stuck on this

Using the KSH, write a shell script called display_by_length, which takes an absolute pathname to a directory and displays all ordinary files in the directory ordered by their length; for each file listed, display the name of the file and its length - nothing else. Extend this script to take an... (1 Reply)
Discussion started by: babuda0059
1 Replies

4. UNIX for Dummies Questions & Answers

Relatively simple question regarding find and cmin

Nuts and bolts: I have a log file that should be updated once every minute called OD_MEM.log. I want to add a check to my CheckSystem script that confirms that the log has been written to in the last 2 minutes. If I use the find command with cmin 1, it finds the file every time. If I use the... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

5. Shell Programming and Scripting

Simple find and replace with AWK

I am trying to write a find and replace script with AWK and I can't seem to get it to work. I need it to find this exact string *P*: and replace the P with a T or just replcare the whole thing with *T*:. this is what I have tried awk 'BEGIN {gsub(/\*P*:/,"\*T*:"); print}' ${INFILE} >... (4 Replies)
Discussion started by: wbshrk
4 Replies

6. Shell Programming and Scripting

Simple Find file Script.....

Im trying to make a very simple find the first file with the .zip extension in a specific folder and open that file. The folder path and file name will vary every-time and it may contain spaces. If I try to look For this example the folder directory is /Users/username/Desktop/testfolder/abc... (6 Replies)
Discussion started by: elbombillo
6 Replies

7. Shell Programming and Scripting

Simple Find

Hi All, i ahve to find a file "pattern*", from current directory to all its sub directories. i have tried with this find . -name "customer*" but here it displayed files with that name only from current directory, not from all its sub directories. i want a list of files with matched... (6 Replies)
Discussion started by: Arunprasad
6 Replies

8. Shell Programming and Scripting

Stuck on a matching, copying type problem

Hi all, I am new to these forum and to scripting in general for that matter. i have been looking through the forums for something that could explain my problem. I have be come pretty familiar with sed and awk but I can not seem to figure this out... I am trying to match data from 3 files but every... (4 Replies)
Discussion started by: derek3131
4 Replies

9. Shell Programming and Scripting

simple script but am stuck

hey i am a bit stuck here. i just started work experience and i need to create a simple script which delete all files in a specify folder which are older then 2 days. :mad: i tried but it never works!!! anyone! i dont know much but unix since i mostly work on NT here but i dont wanna disapoint my... (2 Replies)
Discussion started by: GermanJulian
2 Replies

10. UNIX for Dummies Questions & Answers

Is a simple one command to find a file?

Hi All, I have did a search in the whole forum about Find, but get too many results, so I hope my message not annoying anyone. How do I do a find for a specific file in the whole machine? I am hoping for something like this. find . -name thanks (11 Replies)
Discussion started by: E-Quality
11 Replies
Login or Register to Ask a Question