I did try on Solaris what you suggested in post #4 and it works as I want it to be.
If you don't mind, got some more question to ask playing around with BRE/regex.
Here's another one that I am wanting to do:
Below is the test file file:
Now I want to replace abcp to abct and I use the following which works fine like I wanted it to:
I also try the following in case I only want to replace only where /db is the beginning of the line:
OK, it's all good so far. But I thought the previous two options are too 'complicated' so I then try the one below but it is not giving me the result that I wanted. Can you tell me what's wrong with it?
I am expecting file1 to be having /db/abct/DIR/abct_data_01.dbf as well shouldn't it be
You may be thinking why don't I just simply do 's#abcp#abct#g' instead of having to do sed 's#\(/db/abc\)p\(/DIR/abc\)p\(_.*\.dbf\)#\1t\2t\3#' file > file1. This is because I may have a line that is /db/abcp/DIR/abcp_abcp_data_01.dbf and that string is supposed to be replaced to /db/abct/DIR/abct_abcp_data_01.dbf. Hence I don't want to do a global replace.
[CODE]$: sed 's#\(/db/abcp/DIR/abcp_\)\(_.*\.dbf\)#\(/db/abct/DIR/abct_\)\1#' file > file1
...
There are several errors in your attempt.
- the regex looks for strings with two adjacent _ in them; there is none in the input.
- parentheses lose their special meaning in the replacement and will be printed as such.
- the leading part of the string seems to be (almost) duplicated by the replacement constant (with the t char) and the back reference \1.
- the trailing part is lost as the back reference \2 is not used.
Try to correct those and come back with the result.
I think I get what you mean. Need to get the hang of trying to understand these regex.
I tested as below.
It gives the output that am after.
Will try with the real file that I am wanting to change.
Have Pipe Delimited File:
> BRYAN BAKER|4/4/2015|518 VIRGINIA AVE|TEST
> JOE BAXTER|3/30/2015|2233 MockingBird RD|ROW2On 3rd column where the address is located, I want to add a space after every numeric value - basically doing a "s//&\ / ":
> BRYAN BAKER|4/4/2015|5 1 8 VIRGINIA AVE|TEST
> JOE... (5 Replies)
Basically what the title says. Had to replace the motherboard on an HP DL380 G6 today, of course now the embedded NICs don't work because the ifcfg-eth files have the MAC addresses for the embedded NICs from the old machine.
How can I find the new/correct MAC addresses so I can edit the... (2 Replies)
I have file which contains data in the following format all in a single line:
BDW_PUBLN_ID DECIMAL(18:0) NOT NULL PRIMARY INDEX ARGO_ACCT_DEP_PI ( OFC_ID ,CSHBX_ID ,TRXN_SEQ_NUM ,PROCG_DT ) PARTITION BY RANGE_N(PROCG_DT BETWEEN DATE '2012-03-01' AND DATE '2014-12-31' EACH INTERVAL '1' MONTH );... (4 Replies)
Hi,
I'm trying to match the front and back of a sequence. It works when there is an exact match (obviously), but I need the regex to be more flexible. When we get strings of nucleotides sometimes their prefixes and suffixes aren't exact matches. Sometimes there will be an extra letter and... (2 Replies)
Hi,
I need to run a search and replace on a large database,
what I need to change is all instances of
#### (eg. 1764 or 1964)
to
(####) (eg. (1764) or (1964))
But there might be other numbers in there such as
(1764) and I do not need those changed to ((1764))
How can I... (7 Replies)
Hi guys, I asked for help on programming forums and no one didn't helped me so I ask for help here. I am playing with some tasks from my book and I can't figure where did I get wrong.
From the first program I get a blank screen, program won't generate 10*10 matrix.
And second problem is I... (6 Replies)
Thanks for giving your time and effort to answer questions and helping newbies like me understand awk.
I have a huge file, millions of lines, so perl takes quite a bit of time, I'd like to convert these perl one liners to awk.
Basically I'd like all lines with ISA sandwiched between... (9 Replies)