![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Oh baby bring me down ![]() Group: Agents Posts: 4,115 Joined: 23-February 06 From: Way out yonder Member No.: 68 ![]() |
Damn my bash skills are rusty. I am trying to use the find command with regular expressions to collect a list of .cpp and .h files that reside in the child directories of my current directory. Its been bothering me at work that I cannot get both those file types with a single regular expression. Anyone an expert on this? I can do this and use a temp file before I merge and sort the lists, but I didn't want to use it. Anyone got any good advice on scripts?
The machine also has python on it, and I can't use perl on it. ![]() Thanks! -------------------- Southern Rock, beer and bears!
![]() |
|
|
![]()
Post
#2
|
|
![]() Group: Members Posts: 10,620 Joined: 23-February 06 From: Houston, TX Member No.: 48 ![]() |
CODE find . -regex ".*\.cpp\|.*\.h"
|
|
|
![]()
Post
#3
|
|
![]() Oh baby bring me down ![]() Group: Agents Posts: 4,115 Joined: 23-February 06 From: Way out yonder Member No.: 68 ![]() |
CODE find . -regex ".*\.cpp\|.*\.h" Thanks Chuck, I was trying to pass the or without the escape key. I guess does bash try to do its own interpertation of it instead of letting the find do it? CODE find . -regex ".*\.cpp|.*\.h"[/
-------------------- Southern Rock, beer and bears!
![]() |
|
|
![]()
Post
#4
|
|
![]() Group: Members Posts: 10,620 Joined: 23-February 06 From: Houston, TX Member No.: 48 ![]() |
You have to escape the pipe to let it know it's part of the regex and not the string you're looking for. I know it's weird but yeah you can have a pipe in a filename.
|
|
|
![]()
Post
#5
|
|
![]() Oh baby bring me down ![]() Group: Agents Posts: 4,115 Joined: 23-February 06 From: Way out yonder Member No.: 68 ![]() |
You have to escape the pipe to let it know it's part of the regex and not the string you're looking for. I know it's weird but yeah you can have a pipe in a filename. My understanding of what an excape is was wrong. I thought of it as an excape from bash interpeting it as a pipe to a another function and not find's interperter. Makes sense. What also frustrated me is that even though the man page said the egrep program said it followed POSIX specs, I had to use ASCII specs to parse it. Was frustrating because it worked sometimes and not other times. Thought it had something to do with unicode or my delimiters being screwed up. -------------------- Southern Rock, beer and bears!
![]() |
|
|
![]()
Post
#6
|
|
![]() GORILLA FLUFFER ![]() Group: Agents Posts: 7,711 Joined: 23-February 06 From: lubbock Member No.: 50 ![]() |
I am trying to use the find command with regular expressions to collect a list of .cpp and .h files that reside in the child directories of my current directory. this sounded like you were searching for CP (child pornography) to me. heh ![]() -------------------- |
|
|
![]() ![]() |
Lo-Fi Version | Time is now: 11th September 2025 - 01:03 AM |