All Questions
59
questions
807
votes
13
answers
1.8m
views
How do I grep for multiple patterns with pattern having a pipe character?
I want to find all lines in several files that match one of two patterns. I tried to find the patterns I'm looking for by typing
grep (foo|bar) *.txt
but the shell interprets the | as a pipe and ...
57
votes
2
answers
114k
views
grep and escaping a dollar sign
I want to know which files have the string $Id$.
grep \$Id\$ my_dir/mylist_of_files
returns 0 occurrences.
I discovered that I have to use
grep \$Id$ my_dir/mylist_of_files
Then I see that the $...
17
votes
2
answers
24k
views
Why do I have to escape a "dot" twice?
I know that we can escape a special character like *(){}$ with \ so as to be considered literals.
For example \* or \$
But in case of . I have to do it twice, like \\. otherwise it is considered ...
16
votes
4
answers
39k
views
How to grep for pipe |
How can I grep for line containing pipe character | or for character >:
files content:
|this is test
where is >
this is none
now what I need using grep command is
grep -iE "<some ...
15
votes
2
answers
18k
views
How to use multiline as group-separator in grep?
In grep you can use --group-separator to write something in between group matches.
This comes handy to make it clear what blocks do we have, especially when using -C X option to get context lines.
$ ...
10
votes
2
answers
1k
views
What is the difference between "*.pl" and *.pl in grep? Why does quoting change the result?
What is the difference between:
grep "string" . -r --include *.pl
and
grep "string" . -r --include "*.pl"
The latter includes files in subdirectoried while the former not. Why?
9
votes
1
answer
1k
views
Why does `grep fil*` fail?
I found echo file|grep fil* fails, but echo abcd|grep abc* succeeds.
I don't understand it, can someone explain?
9
votes
4
answers
41k
views
How do I perform xargs grep on grep output that has spaces?
I'm searching for files based on a regular expression, and then I'm trying to search those files for content. So, for example, I have something like
#Find all C++ files that match a certain pattern ...
8
votes
5
answers
33k
views
How to find lines that begin with **
I need to find if any lines in a file begin with ** .
I cannot figure out how to do it because * is interpreted as a wildcard by the shell.
grep -i "^2" test.out
works if the line begins with a 2 ...
8
votes
3
answers
33k
views
Escaping * with Regular Expressions and Grep
I have a file that has unique lines that start with 2 stars (**).
However when I run a grep command for
grep \*\* fileName
I get all of the lines in the file. This is very unusual, and what I see ...
8
votes
5
answers
15k
views
bash event not found trying to match and exclude parenthesis in grep
In a very long line I'll summarize with:
(foo),(bar,baz(word,right),(end)
I want to print only:
(bar,baz(word,right
To match the second parenthesis, I exclude the word that follows the third ...
8
votes
2
answers
31k
views
"grep: Unmatched [" error when using regex
I'm trying to find a pattern similar to this:
tail -n 100000 gateway.log | grep -B10 -A10 'Nov 22 11:13:56 Received Packet from [10.50.98.68'
Where "11:13:56" could be any time.
This is what I came ...
7
votes
1
answer
1k
views
How to extract the string between two \n in a file
I have a file with pattern
<span class="WebRupee">Rs.</span>\n29\n<br/><font style="font-size:smaller;font-weight:normal">\n3 days\n</font></td>, <td class=...
5
votes
2
answers
26k
views
How do I grep multiple patterns from a pipe
I want to find three patterns in a list. I tried typing
$ pip3 list | grep -ei foo -ei bar -ei baz
but the shell throws a broken pipe error and a large Traceback.
How do I grep for multiple ...
5
votes
1
answer
7k
views
command: ls /etc | sort | grep d* is yielding no results but ls /etc | sort | grep p* lists entire directory
I am playing around with piping and grep tonight. I know that grep uses regex and that * means 0 or more occurrences of the preceding character. So the way I understand it is that if I do the ...