hello, I'm trying to write the fastest sed command possible (large files will be processed) to replace RICH with NICK in a file which looks like this (below) if the occurance of RICH is uppercase, replace with uppercase if it's lowercase, replace with lowercase
SOMTHING_RICH_SOMTHING <- replace here
hellorichwhatareyoudoing <- do not replace here, forms part of a word
SOMTHING.RICH.SOMTHING <- replace here
somthing_rich_somthing <- replace here
HELLO-RICH-HELLO <- replace here
I've used the find operator first to speed up execution how do I alter the sed to achieve the above requirements?
hi,
try this:
i got the following output for your input:
not quite what I was expecting , My fault probably for not being clear enough with the requirement:
---------- Post updated at 05:48 PM ---------- Previous update was at 05:29 PM ----------
basically it's a case of "if there are any letters (with no spaces) directly to the left or right of the string I'm replacing, don't replace it" so the following must be left alone:
HELLORICHHELLO
HELLORICH
RICHHELLO
anything other than the above is fair game with the added condition that 'if you're doing a replace and the string being replaced is lower case, replace with lowercase, if uppercase, replace with uppercase
---------- Post updated at 06:11 PM ---------- Previous update was at 05:48 PM ----------
Nearly got it...
Last edited by rich@ardz; 10-01-2010 at 01:54 PM..
input:
output:
basically if the string to be replaced has an alphabetic character to the left or right (or left AND right) of it, don't replace it - if it has anything other than an alphabetic char (inc. spaces) to the left or right of it (or left AND RIGHT), replace it...
Last edited by Scott; 10-03-2010 at 07:23 AM..
Reason: Code tags
I won't even pretend i understand how this sed works! but it does! is it possible to replace uppercase with uppercase and lower with lower or would i have to run 2 different seds... cheers
I have this fastq file:
@M04961:22:000000000-B5VGJ:1:1101:9280:7106 1:N:0:86
GGGGGGGGGGGGCATGAAAACATACAAACCGTCTTTCCAGAAATTGTTCCAAGTATCGGCAACAGCTTTATCAATACCATGAAAAATATCAACCACACCA
+test-1
GGGGGGGGGGGGGGGGGCCGGGGGFF,EDFFGEDFG,@DGGCGGEGGG7DCGGGF68CGFFFGGGG@CGDGFFDFEFEFF:30CGAFFDFEFF8CAF;;8... (10 Replies)
I have the following script that will print column 4 ("25") when column 1 contains "123". However, I need to ignore the alpha characters that are contained in the input file. If I were to ignore the characters my output would be column 3.
What is the best way to print my column of interest... (3 Replies)
Hi,
I would like to find a 3-letter character series in a string/variable and replace it with x's.
An example set of strings is:
563MS333_101_afp_400-100_screening
563MS333_104-525_rjk_525_screening
563MS333_110_dlj_500-100_w24
563MS333_888-100_mmm_424_screening
The only constants... (5 Replies)
Hello!
I know that this expression gets rid of non-alphanumeric characters:
sed 's///g'
and I understand that it is replacing them with nothing - hence the '//'-, but I don't understand how it's doing it.
It seems it's finding strings that begin with alphanumeric and replacing them with... (2 Replies)
sed -e "s// /g" old.txt > new.txt
While I do know some control characters need to be escaped, can normal characters also be escaped and still work the same way? Basically I do not know all control characters that have a special meaning, for example, ?, ., % have a meaning and have to be escaped... (11 Replies)
Hi All,
I am new to Unix and trying to run some scripting on a linux box. I am trying to remove the non alphanumeric characters and alpha characters from the following line.
<measResults>883250 869.898 86432.4 809875.22 804609 60023 59715 </measResults>
Desired output is:
883250... (6 Replies)
Hi All,
I want to make some characters to be bold in a file.
I have a file e.g aa.log which contains
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
gfgfgdaerqrqwrqerqwrwqwrqrqwrqr
qqwerqwrqwrqwrqwrqwrqwrqwrq
qwrqwrqwrqwrqwrqwrqwrqwrqwr
File is too large to view
Last line... (2 Replies)
Hi,
Sorry for silly question, but I'm trying to write a perl script to operate a log file that is in following format:
(4)ab=1234/(10)bc=abcdef9876/cd=0....
The number in the brackets is the lenghts of the field, "/" is the field separator. Brackets are not leading every field.
What I'm... (9 Replies)
I am working on a shell program that needs to accept alpha-numeric input (i.e., P00375); when I use a simple 'read' statement to read in the input (i.e., read LOG), I receive the message "p00375: bad number". How must I adjust my input statement to accept alpha-numerics?
Thanks!
Brent (3 Replies)