Help with grep and regex


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Help with grep and regex
# 8  
Old 04-15-2008
^ (caret) means beginning of line. For convenience, use a different separator than slash in the substitution if your string contains a slash.

Code:
sed -e 's%^A/A/% %g' >newfile

I'm speculating you will not really want the literal asterisk there; if you do, you need to put in a backslash before it, because asterisk, too, is a regular expression operator (repetition).

In line-oriented tools, such as regular expressions, a blank line is characterized by the fact that beginning of line (caret) is adjacent to end of line (dollar sign). Maybe you want to permit optional whitespace between those too, if you want to match "graphically empty" lines containing only whitespace characters, too.
# 9  
Old 04-15-2008
Thank you very much for all your help and for not telling me to learn perl Smilie
# 10  
Old 04-15-2008
Ok... so this deletes all instances of "A/A/" but I actually want to cut any lines that being with "A/A/". Many of these are in the format A/A/B/C and A/A/D/E and this leaves me with a bunch of lines like /B/C and /D/E/. Is there a wild card symbol in regex that works like an * usually does?
# 11  
Old 04-15-2008
alternatively, I could select all lines that DON'T begin with that string but I'm not sure how to do that yet. I'm trying to figure it out, but any help would be appreciated.
# 12  
Old 04-15-2008
sed -n '/^A/p' list > file
selects all the lines I don't want. Can I negate it and select all the others?
# 13  
Old 04-15-2008
duh....

the answer was to run the following:
sed -n '/^A/!p' list > list2
sed '/^$/d' list2 > list4

Thanks!
# 14  
Old 04-16-2008
As a closing comment, you can run multiple commands in a single sed invocation. This should hopefully reduce the need for temporary files.

Code:
sed -n -e '/^A/d' -e '/^$/d' -e p list

This deletes all lines which match "^A", then all empty lines, then prints whatever is left.

Learning Perl is not such a bad idea, as such (unless you're the kind of person who likes single-character commands like "d" and "p" better than "delete" and "print").
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Grep regex

Hi everyone, I'm looking for a grep command to match the following pattern from a file: <EGS>10234567<EGS> I used this following command to do this: grep -E '^<EGS>{8}<EGS>' test.txt In output I got: <EGS>10234567<EGS> Till now it work, but if I add something at the end of the line... (2 Replies)
Discussion started by: Arnaudh78
2 Replies

2. UNIX for Beginners Questions & Answers

Grep in regex

Hello guys, Here i am writing a script in bash to check for a valid URL from a file using regex This is my input file http://www.yahoo.commmmmm http://www.google.com https://www.gooogle.co www.test6.co.in www.gmail.com www.google.co htt://www.money.com http://eeeess.google.com... (2 Replies)
Discussion started by: Meeran Rizvi
2 Replies

3. Shell Programming and Scripting

Grep with regex containing one string but not the other

Hi to you all, I'm just struggling with a regex problem and I'm pretty sure that I'm missing sth obvious... :confused: I need a regex to feed my grep in order to find lines that contain one string but not the other. Here's the data example: 2015-04-08 19:04:55,926|xxxxxxxxxx| ... (11 Replies)
Discussion started by: stresing
11 Replies

4. Shell Programming and Scripting

grep -v and regex

How to match lines that don't contain a patern in regex it self, without using the -v option of grep? (15 Replies)
Discussion started by: vistastar
15 Replies

5. UNIX for Dummies Questions & Answers

| help | unix | grep (GNU grep) 2.5.1 | advanced regex syntax

Hello, I'm working on unix with grep (GNU grep) 2.5.1. I'm going through some of the newer regex syntax using Regular Expression Reference - Advanced Syntax a guide. ls -aLl /bin | grep "\(x\)" Which works, just highlights 'x' where ever, when ever. I'm trying to to get (?:) to work but... (4 Replies)
Discussion started by: MykC
4 Replies

6. Shell Programming and Scripting

regex and grep

I want it to find lines that contain any number of capital letters before P this is what I have tried echo "AAAAAP" | grep 'P' echo "AAAAAP" | grep '\{1\}P' echo "AAAAAP" | grep '^*P' But none of them seem to work, any help is much appreciated thanks Calypso (4 Replies)
Discussion started by: Calypso
4 Replies

7. Shell Programming and Scripting

grep and regex question

basically i have a csv i parse through. a user will supply me with a san switch he/she wants more info about... say the name is "pnj-sansw124" now i can grep out every connection to that switch w/o issue because this sans switch pnj-sansw124 has multiple slots 1-10. and it looks like this in the... (5 Replies)
Discussion started by: pupp
5 Replies

8. UNIX for Dummies Questions & Answers

grep with Regex help!

Hello everybody, I'd like to know how is it I should write a regex in unix to match a string not followed by another string (anywhere in the line). To be more specific, I want to find lines where "drop table" is found, but not followed anywhere in the line by the character "&". For... (3 Replies)
Discussion started by: mvalonso
3 Replies

9. Shell Programming and Scripting

grep regex problem

Hi, I am trying to do something with grep, but for some reason I just can't get it to to work. I am looking for find a match in the second field, the length must be 10 characters and end with 'abc'. The file is in this format: <int><tab><field2> I've tried a few patterns, some work,... (2 Replies)
Discussion started by: iceman
2 Replies

10. UNIX for Dummies Questions & Answers

use of regex on grep

having a look on the regex site I saw that characters can be search using hex values http://www.regular-expressions.info/characters.html So I try to use it whith grep to find a è on a string (octal Decimal Hexa : 350 232 E8) but it doesn't work E.g. /usr/bin/echo '\0350' | egrep '\xE8' ... (0 Replies)
Discussion started by: solea
0 Replies
Login or Register to Ask a Question