I want to get every line that match there pattern:
I try this command, but failed:
grep -e "[something|someplace|somewhere]" /data/rawlog.txt
Anyone know what goes wrong?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
First, you don't need the brackets. Second, you need extended regular expressions or escape the pipes. One of this should work:
egrep -e "something|someplace|somewhere" /data/rawlog.txt grep -e "something\|someplace\|somewhere" /data/rawlog.txt
If you want to place something outside of the fork, don't forget to group it. For example, if you want these patterns to occur only at the end of the line:
egrep -e "(something|someplace|somewhere)$" /data/rawlog.txt
Note that parenthesis also need egrep or escaping.