search two words in sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting search two words in sed
# 8  
Old 07-30-2008
sed - two search patterns...

Can you try the following and let me know whether it works?

sed '/search_pattern1/ !s/pattern1/pattern2/;/search_pattern2/ !s/pattern1/pattern2/' file
# 9  
Old 07-30-2008
You have the same search pattern on both sides of the vertical bar; is that intentional?

Does your local sed manual page have anything about alternation?

As a workaround, you can invert the condition:

Code:
sed -e '/search_pattern1/b' -e '/search_pattern2/b' -e 's/pattern1/pattern2/' file

# 10  
Old 07-31-2008
Thants not intentional , two patterns are different.

Tiger,
Your methos doesn't work , It'll apple substitution on both search pattern lines which I want to exclude.

Let me give you real commands and data.
------------
$cat aa
------------
command:xxxdsjob} $ASYS_DSPROJ4 GWJCLS160PHS_HDRDTLPMT $ASYS_GW_QUALIFIER
command: ${rundsjob} $ASYS_DSPROJ4 GWJCLS185PHS_HDDTPMTPR $ASYS_GW_QUALIFIER
command:${rundsjob} $ASYS_DSPROJ4 GWMCLS230PHS_Hdr_Mapping $ASYS_GW_QUALIFIER
command: abcd.sh $ASYS_DSPROJ4 GWMCLS235PHS_Hdr_SSD_Mapping $ASYS_GW_QUALIFIER
command: ${rundsjob} $ASYS_DSPROJ4 GWMCLS240PHS_Svc_Mapping $ASYS_GW_QUALIFIER
command: xfgsh.pl $ASYS_DSPROJ4 GWMCLS250PHS_Ub92_Mapping $ASYS_GW_QUALIFIER
command: ${rundsjob} $ASYS_DSPROJ4 GWTCLS070PHS_member_claim_step2_ft1007 $ASYS_GW_QUALIFIER
command: ${rundsjob} $ASYS_DSPROJ4 GWYALL090ALLpre_validate_delimited_file.1010 $ASYS_GW_QUALIFIER
command: ${rundsjob} $ASYS_DSPROJ4 GWYALL090ALLpre_validate_delimited_file.1011 $ASYS_GW_QUALIFIER
command:${Rundsjob} $ASYS_DSPROJ4 GWYALL100ALLvalidate_delimited_file.1010 $ASYS_GW_QUALIFIER
command:sendevent $ASYS_DSPROJ4 GWYALL100ALLvalidate_delimited_file.1010 $ASYS_GW_QUALIFIER
akfakfhfhs;kcvs;kcns;kcns;kcns;kcbns;kcvjs;kd
command: abcd.sh $ASYS_DSPROJ4 GWMCLS235PHS_Hdr_SSD_Mapping $ASYS_GW_QUALIFIER

----------------------
sed "/rundsjob\|sendevent/ !s/\(command: *\)\(.*$\)/command: execute_args.sh '\2'/" aa
------------------------

command: execute_args.sh 'xxxdsjob} $ASYS_DSPROJ4 GWJCLS160PHS_HDRDTLPMT $ASYS_GW_QUALIFIER'
command: execute_args.sh '${rundsjob} $ASYS_DSPROJ4 GWJCLS185PHS_HDDTPMTPR $ASYS_GW_QUALIFIER'
command: execute_args.sh '${rundsjob} $ASYS_DSPROJ4 GWMCLS230PHS_Hdr_Mapping $ASYS_GW_QUALIFIER'
command: execute_args.sh 'abcd.sh $ASYS_DSPROJ4 GWMCLS235PHS_Hdr_SSD_Mapping $ASYS_GW_QUALIFIER'
command: execute_args.sh '${rundsjob} $ASYS_DSPROJ4 GWMCLS240PHS_Svc_Mapping $ASYS_GW_QUALIFIER'
command: execute_args.sh 'xfgsh.pl $ASYS_DSPROJ4 GWMCLS250PHS_Ub92_Mapping $ASYS_GW_QUALIFIER'
command: execute_args.sh '${rundsjob} $ASYS_DSPROJ4 GWTCLS070PHS_member_claim_step2_ft1007 $ASYS_GW_QUALIFIER'
command: execute_args.sh '${rundsjob} $ASYS_DSPROJ4 GWYALL090ALLpre_validate_delimited_file.1010 $ASYS_GW_QUALIFIER'
command: execute_args.sh '${rundsjob} $ASYS_DSPROJ4 GWYALL090ALLpre_validate_delimited_file.1011 $ASYS_GW_QUALIFIER'
command: execute_args.sh '${Rundsjob} $ASYS_DSPROJ4 GWYALL100ALLvalidate_delimited_file.1010 $ASYS_GW_QUALIFIER'
command: execute_args.sh 'sendevent $ASYS_DSPROJ4 GWYALL100ALLvalidate_delimited_file.1010 $ASYS_GW_QUALIFIER'
akfakfhfhs;kcvs;kcns;kcns;kcns;kcbns;kcvjs;kd
command: execute_args.sh 'abcd.sh $ASYS_DSPROJ4 GWMCLS235PHS_Hdr_SSD_Mapping $ASYS_GW_QUALIFIER'

-------------
But I want --
------------
command: execute_args.sh 'xxxdsjob} $ASYS_DSPROJ4 GWJCLS160PHS_HDRDTLPMT $ASYS_GW_QUALIFIER'
command: ${rundsjob} $ASYS_DSPROJ4 GWJCLS185PHS_HDDTPMTPR $ASYS_GW_QUALIFIER
command:${rundsjob} $ASYS_DSPROJ4 GWMCLS230PHS_Hdr_Mapping $ASYS_GW_QUALIFIER
command: execute_args.sh 'abcd.sh $ASYS_DSPROJ4 GWMCLS235PHS_Hdr_SSD_Mapping $ASYS_GW_QUALIFIER'
command: ${rundsjob} $ASYS_DSPROJ4 GWMCLS240PHS_Svc_Mapping $ASYS_GW_QUALIFIER
command: execute_args.sh 'xfgsh.pl $ASYS_DSPROJ4 GWMCLS250PHS_Ub92_Mapping $ASYS_GW_QUALIFIER'
command: ${rundsjob} $ASYS_DSPROJ4 GWTCLS070PHS_member_claim_step2_ft1007 $ASYS_GW_QUALIFIER
command: ${rundsjob} $ASYS_DSPROJ4 GWYALL090ALLpre_validate_delimited_file.1010 $ASYS_GW_QUALIFIER
command: ${rundsjob} $ASYS_DSPROJ4 GWYALL090ALLpre_validate_delimited_file.1011 $ASYS_GW_QUALIFIER
command: execute_args.sh '${Rundsjob} $ASYS_DSPROJ4 GWYALL100ALLvalidate_delimited_file.1010 $ASYS_GW_QUALIFIER'
command:sendevent $ASYS_DSPROJ4 GWYALL100ALLvalidate_delimited_file.1010 $ASYS_GW_QUALIFIER
akfakfhfhs;kcvs;kcns;kcns;kcns;kcbns;kcvjs;kd
command: execute_args.sh 'abcd.sh $ASYS_DSPROJ4 GWMCLS235PHS_Hdr_SSD_Mapping $ASYS_GW_QUALIFIER'
# 11  
Old 07-31-2008
I've got a workaround, But thats not fool-proof -

sed "/[rs][ue]nd[se][jv][oe][bn]t*/ !s/\(command: *\)\(.*$\)/command: execute_args.sh '\2'/" aa
# 12  
Old 07-31-2008
Did the sed b workaround I posted above not work for you?
# 13  
Old 08-01-2008
I just tried.. It worked !!!

Thank you very much....

previuosly I did it with !s. there it didn't work.
Login or Register to Ask a Question

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
Login or Register to Ask a Question