Problem with "find" and "grep" command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with "find" and "grep" command
# 1  
Old 09-30-2011
Problem with "find" and "grep" command

I want to list all files/lines which except those which contain the pattern ' /proc/' OR ' /sys/' (mind the leading blank).

In a first approach I coded:
Code:
  find / -exec ls -ld {} | grep -v ' /proc/| /sys/' \; > /tmp/list.txt

But this doesn't work. I got an error (under Ubuntu):
grep: ;: No such file or directory
find: missing argument to `-exec'

What's wrong?

Peter

Last edited by vbe; 09-30-2011 at 05:17 AM.. Reason: Use code tags for your code/data next time
# 2  
Old 09-30-2011
Code:
find / -exec ls -ld {} \; | grep -v ' /proc/| /sys/' > /tmp/list.txt

Your backslash was not at the right place...And you need a space before...

Addendum...
Thinking of it you are going to be in trouble for your are reading /proc and /sys anyway before the grep and I cant see the system say nothing...
In other words wrong logic, think again!

Last edited by vbe; 09-30-2011 at 05:38 AM.. Reason: Typo + Addendum
# 3  
Old 09-30-2011
Quote:
Originally Posted by vbe
Code:
find / -exec ls -ld {} \; | grep -v ' /proc/| /sys/' > /tmp/list.txt

Your backslash was not at the right place...And you need a space before...

Addendum...
Thinking of it you are going to be in trouble for your are reading /proc and /sys anyway before the grep and I cant see the system say nothing...
In other words wrong logic, think again!
Ok, thank you. However your solution does NOT work.
The final list contains lots of files beginning with /sys/
So I think the grep filtering does not work this way.
Maybe the grep is wrong.
Any other suggestion?

Peter
# 4  
Old 09-30-2011
try with this ..
Code:
$ find / -type d -print | egrep -v "/proc|/sys"

# 5  
Old 09-30-2011
Code:
find . -type d \( -name "\\proc" -o -name "\\sys" \)

Moderator's Comments:
Mod Comment Please use code tags!
# 6  
Old 09-30-2011
Quote:
Originally Posted by jayan_jay
try with this ..
Code:
$ find / -type d -print | egrep -v "/proc|/sys"

Ok, thank you.

BUT: I want to find files (so it must be -type f) AND
your egrep filter suppresses also files with pathes where /sys or /proc appears in the mid like

/usr/aaa/proc/dummy.log

or

/tmp/sys/anotherfile.txt

How could I apply your egrep filter ONLY to the beginning of the line?

Code:
$ find / -type f -print | egrep -v '^/proc|^/sys'

...does not work
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

2. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

3. Shell Programming and Scripting

Find lines with "A" then change "E" to "X" same line

I have a bunch of random character lines like ABCEDFG. I want to find all lines with "A" and then change any "E" to "X" in the same line. ALL lines with "A" will have an "X" somewhere in it. I have tried sed awk and vi editor. I get close, not quite there. I know someone has already solved this... (10 Replies)
Discussion started by: nightwatchrenba
10 Replies

4. Shell Programming and Scripting

grep with "[" and "]" and "dot" within the search string

Hello. Following recommendations for one of my threads, this is working perfectly : #!/bin/bash CNT=$( grep -c -e "some text 1" -e "some text 2" -e "some text 3" "/tmp/log_file.txt" ) Now I need a grep success for some thing like : #!/bin/bash CNT=$( grep -c -e "some text_1... (4 Replies)
Discussion started by: jcdole
4 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

6. Shell Programming and Scripting

ps -ef | grep "string1" "string2" " "string3"

Hi all, can any one suggest me the script to grep multiple strings from ps -ef pls correct the below script . its not working/ i want to print OK if all the below process are running in my solaris system. else i want to print NOT OK. bash-3.00$ ps -ef | grep blu lscpusr 48 42 ... (11 Replies)
Discussion started by: steve2216
11 Replies

7. Shell Programming and Scripting

"find command" to find the files in the current directories but not in the "subdir"

Dear friends, please tell me how to find the files which are existing in the current directory, but it sholud not search in the sub directories.. it is like this, current directory contains file1, file2, file3, dir1, dir2 and dir1 conatins file4, file5 and dir2 contains file6,... (9 Replies)
Discussion started by: swamymns
9 Replies

8. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

9. Shell Programming and Scripting

grep to find content in between curly braces, "{" and "},"

problem String ~~~~~~~~~~~~~~~~~~ icecream= { smart peopleLink "good" LC "happy" , smartpeopleLink "dull" LC "sad" } aend = {smart vc4 eatr kalu} output needed ~~~~~~~~~~~~~~~~~~ smart peopleLink "good" LC "happy" , smartpeopleLink "dull" LC "sad" smart vc4... (4 Replies)
Discussion started by: keshav_rk
4 Replies
Login or Register to Ask a Question