Visit Our UNIX and Linux User Community

search two words in sed

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting search two words in sed
# 1  
Old 07-29-2008
search two words in sed

I've following sed command working fine -
sed '/search_pattern1/ !s/pattern1/pattern2/" file

Now, I want to search two patterns - search_pattern1 and search_pattern2 .

How can put these into above sed statement ?

Thanks in advance.
# 2  
Old 07-29-2008
sed '/search_pattern1\|search_pattern2/ !s/pattern1/pattern2/" file

Different sed dialects might not want the backslash before the | alternation operator.
# 3  
Old 07-30-2008
This doesn't work.
# 4  
Old 07-30-2008
Do you get a syntax error, or doesn't it do what you expect? Your request can be interpreted at least two ways (lines not containing search_pattern1 or search_pattern2 should have pattern1 replaced with pattern2; or, lines not containing search_pattern1 should have pattern1 replaced with pattern2, and lines not containing search_pattern2 should have some unspecified substitution applied to them) so perhaps you can elaborate with example input, example output, and what exactly you have tried so far.
# 5  
Old 07-30-2008
OK, here is what I want to do

1. I want perform some opreation on the lines which does not have search_pattern1 or search_pattern2.

2. And the operation is - in those lines replace pattern1 by pattern2, if at all pattern1 is present. if pattern1 is not present leave them as it is.

In the case where I 've only one search_pattern, The following command works file -

sed '/search_pattern1/ !s/pattern1/pattern2/" file

Now, I want to add one more word to search "search_pattern2" with "or" condition, I'm not able to fit that into sed.

something like -

sed '/search_pattern1|search_pattern1/ !s/pattern1/pattern2/" file

should work,but it sed treats it like a single word - "search_pattern1|search_pattern1". it does not give a syntaxk error.
# 6  
Old 07-30-2008
Did you try with a backslash before the |?
# 7  
Old 07-30-2008
yes, I did..
with that too, it worked on all the data considering "'/search_pattern1\|search_pattern1/" as one word.

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search words in any quote position and then change the words

hi, i need to replace all words in any quote position and then need to change the words inside the file thousand of raw. textfile data : "Ninguno","Confirma","JuicioABC" "JuicioCOMP","Recurso","JuicioABC" "JuicioDELL","Nulidad","Nosino" "Solidade","JuicioEUR","Segundo" need... (1 Reply)
Discussion started by: benjietambling
1 Replies

2. Shell Programming and Scripting

Search string within a file and list common words from the line having the search string

Hi, Need your help for this scripting issue I have. I am not really good at this, so seeking your help. I have a file looking similar to this: Hello, i am human and name=ABCD. How are you? Hello, i am human and name=PQRS. I am good. Hello, i am human and name=ABCD. Good bye. Hello, i... (12 Replies)
Discussion started by: royzlife
12 Replies

3. Shell Programming and Scripting

Search between two words

Hello, I try to print out with sed or awk the 21.18 between "S3 Temperature" and "GrdC" in a text file. The blanks are all real blanks no tabs. Only the two first chars from temperture are required. So the "21" i need as output. S3 Temperatur 21.18 GrdC No Alarm ... (3 Replies)
Discussion started by: felix123
3 Replies

4. Shell Programming and Scripting

search from a list of words

Hello, I'm trying to write a bash script that will search for words from one list that may be found in another list. Once the record is found, it will create a new text file for each word. For example, list1.txt contains the following: Dog Cat Fish List2.txt contains Dog - Buddy 14... (3 Replies)
Discussion started by: jl487
3 Replies

5. Shell Programming and Scripting

SED - delete words between two possible words

Hi all, I want to make an script using sed that removes everything between 'begin' (including the line that has it) and 'end1' or 'end2', not removing this line. Let me paste an 2 examples: anything before any string begin few lines of content end1 anything after anything before any... (4 Replies)
Discussion started by: meuser
4 Replies

6. Shell Programming and Scripting

want to search for the words in the files

Hi Friends, I have been trying to write the script since morning and reached some where now. but i think i am stuck in the final step. please help I want to search the strings below in red in the be be searched in the directories below. How can i do that in my shell script. Thanks Adi ... (8 Replies)
Discussion started by: asirohi
8 Replies

7. Shell Programming and Scripting

Search 3 words

Hi All, I have almost 1000+ files and I want to search specific pattern. Looking forwarded your input. Pls note that need to ignore words in between /* */ Search for: "insert into xyz" (Which procedure contain all 3). Expected output: procedure test1 procedure test2 procedure test3 File... (12 Replies)
Discussion started by: susau_79
12 Replies

8. UNIX for Dummies Questions & Answers

search words in different file

Hi, I have 1 - 100 file I want the list of such file which contains word 'internet' Please provide command to do this (3 Replies)
Discussion started by: kaushik02018
3 Replies

9. UNIX for Dummies Questions & Answers

Search File for Specific Words

I have a file that contains the following: Mon Dec 3 15:52:57 PST 2o007: FAILED TO PROCESSED FILE 200712030790881200.TXT - exit code=107 Tue Dec 4 09:08:57 PST 2007: FAILED TO PROCESSED FILE 200712030790879200a.TXT - exit code=107 This file also has a lot more stuff since it is a log file.... (2 Replies)
Discussion started by: mevasquez
2 Replies

10. Shell Programming and Scripting

search for words in file

hi all, i would like to search in a directory. all files they were found shoul be opend and looked about a keyword. if keyword is found i want to see the name of the file. i've rtfm of find and have a command like this : find /etc -exec cat \{}\ | grep KEYWORD but don't work, and : find... (4 Replies)
Discussion started by: Agent_Orange
4 Replies

Featured Tech Videos