Can sed replace every 2 instances it finds in a file? Pattern.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Can sed replace every 2 instances it finds in a file? Pattern.
# 1  
Old 03-06-2010
Java Can sed replace every 2 instances it finds in a file? Pattern.

My goal is to make a script to find/replace the variable "PORT" with a unique number.

Like the following

Code:
<VirtualHost 174.120.36.236:PORT>
    ServerName architect.com.ph
    ServerAlias www.architect.com.ph
    DocumentRoot /home/architec/public_html
    ServerAdmin webmaster@architect.com.ph
    UseCanonicalName Off
    CustomLog /usr/local/apache/domlogs/architect.com.ph combined
    CustomLog /usr/local/apache/domlogs/architect.com.ph-bytes_log "%{%s}t %I .\n%{%s}t %O ."
    ## User architec # Needed for Cpanel::ApacheConf
    <IfModule mod_suphp.c>
        suPHP_UserGroup architec architec
    </IfModule>
    <IfModule !mod_disable_suexec.c>
        SuexecUserGroup architec architec
    </IfModule>
    ScriptAlias /cgi-bin/ /home/architec/public_html/cgi-bin/


    # To customize this VirtualHost use an include file at the following location
    # Include "/usr/local/apache/conf/userdata/std/2/architec/architect.com.ph/*.conf"

</VirtualHost>

        backend architect.com.ph {
                set backend.host = "architect.com.ph";
                set backend.port = "PORT";
        }

The problem is that inside this file there are hundreds of virtualhosts, and other config files.

I am wondering if sed can go through a pattern of every 2 instances it finds of "PORT" to be replaced with a unique number, or better yet sequential, is this possible?

Thanks
# 2  
Old 03-06-2010
Do you mean you want to ignore the port in: -

Code:
<VirtualHost 174.120.36.236:PORT>

and just change the one in quotes: -

Code:
set backend.port = "PORT";

If so couldn't you just change the PORT on lines containing backend.port?
# 3  
Old 03-06-2010
No, I want to replace both of them.

That is why I wanted it in a pattern, for every 2 instances it finds the word "PORT" to replace it with a unique number, and every 2 instances it finds to replace it with a unique number, and so forth.

Thanks
# 4  
Old 03-06-2010
Something like:
Code:
sed 's/PORT/99999/g' file

# 5  
Old 03-06-2010
That is going to replace all instances, i dont want that. i want it to replace every two instances it finds of PORT . That is my dilema right now.

Thanks

---------- Post updated at 02:28 PM ---------- Previous update was at 02:28 PM ----------

That is going to replace all instances, i dont want that. i want it to replace every two instances it finds of PORT . That is my dilema right now.

Thanks
# 6  
Old 03-06-2010
Quote:
Originally Posted by EXT3FSCK
That is going to replace all instances, i dont want that. i want it to replace every two instances it finds of PORT . That is my dilema right now.
Thanks
Which 2 instances? The first 2 instances, the second 2...?
# 7  
Old 03-06-2010
Pretend this file has thousands of instances that say PORT

I want it to replace every two instances it finds that say PORT with a unique number. None are the same so incremental is fine. But every time it find two instances of PORT to replace those two, then move on to the next two, and so forth.

Is such possible?

---------- Post updated at 02:36 PM ---------- Previous update was at 02:36 PM ----------

Pretend this file has thousands of instances that say PORT

I want it to replace every two instances it finds that say PORT with a unique number. None are the same so incremental is fine. But every time it find two instances of PORT to replace those two, then move on to the next two, and so forth.

Is such possible?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace particular words in file based on if finds another words in that line

Hi All, I need one help to replace particular words in file based on if finds another words in that file . i.e. my self is peter@king. i am staying at north sydney. we all are peter@king. How to replace peter to sham if it finds @king in any line of that file. Please help me... (8 Replies)
Discussion started by: Rajib Podder
8 Replies

2. UNIX for Beginners Questions & Answers

sed replace pattern

I have a file with multiple lines, all in the same format. For each line, I need to replace the sequence of digits after the last : with a new value, but keep the single quote at the end of the line. Example: Input: ( two lines of file) Name: 'text1:200/text2:1.2.3.4' Name2:... (19 Replies)
Discussion started by: Beginner101
19 Replies

3. Shell Programming and Scripting

Pattern replace from a text file using sed

I have a sample text format as given below <Text Text_ID="10155645315851111_10155645333076543" From="460350337461111" Created="2011-03-16T17:05:37+0000" use_count="123">This is the first text</Text> <Text Text_ID="10155645315851111_10155645317023456" From="1626711840902323"... (3 Replies)
Discussion started by: my_Perl
3 Replies

4. Shell Programming and Scripting

sed command to replace two character pattern with another pattern

Not able to paste my content. Please see the attachment :-( (2 Replies)
Discussion started by: vivek d r
2 Replies

5. Shell Programming and Scripting

sed finds nothing but it changes file's timestamp

I must go through some files to change a certain string within text files to another string. I use openSUSE and folders are mounted by cifs. Text to be replaced (only in .m extension) is U:\FOLDER and new string is N: That works fine with spaces in directory names etc., but this process ... (5 Replies)
Discussion started by: Pappa41
5 Replies

6. Shell Programming and Scripting

Replace a pattern in a file with a generated number using sed or awk

my file has thousands of line but let me show what i want to achieve... here is one line from that file cat fileName.txt (2,'','user3002,user3003','USER_DATA_SINGLE',1,0,0,'BACKUP',2,NULL,0,450,NULL,NULL,'','2011-05-10... (13 Replies)
Discussion started by: vivek d r
13 Replies

7. UNIX for Dummies Questions & Answers

Using sed command to remove multiple instances of repeating headers in one file?

Hi, I have catenated multiple output files (from a monte carlo run) into one big output file. Each individual file has it's own two line header. So when I catenate, there are multiple two line headers (of the same wording) within the big file. How do I use the sed command to search for the... (1 Reply)
Discussion started by: rebazon
1 Replies

8. Shell Programming and Scripting

How to replace the last pattern using sed?

myfile: AAAaaa BBBbbb CCCccc AAAeee DDDddd how to replace the last AAA as EEEEE using sed? like this: AAAaaa BBBbbb CCCccc EEEEEeee DDDddd (14 Replies)
Discussion started by: vistastar
14 Replies

9. Shell Programming and Scripting

pattern replace inside text file using sed

Hi, I have a situation where I want to replace some occurrences of ".jsp" into ".html" inside a text file. For Example: If a pattern found like <a href="http://www.mysite.com/mypage.jsp"> it should be retained. But if a pattern found like <a href="../mypage.jsp"> it should be changed to... (4 Replies)
Discussion started by: meharo
4 Replies

10. Shell Programming and Scripting

SED Search Pattern and Replace with the Pattern

Hello All, I have a string "CP_STATUS OSSRC_R6_0_Shipment_R1H_CU AOM_901046 R1H_LLSV1_2008031", and I just want to extract LLSV1, but I dont get the expected result when using the sed command below. # echo "CP_STATUS OSSRC_R6_0_Shipment_R1H_CU AOM_901046 R1H_LLSV1_2008031" | awk '{print... (4 Replies)
Discussion started by: racbern
4 Replies
Login or Register to Ask a Question