I have some data that looks like the following,
I need to remove the data in the parentheses and the space following the final > in those lines. The value in parentheses is different in each record.
I tried sed, sed 's/>\ \(.*\)/>/g' infile > modfile
to me, this reads, find ">" followed by 1 space, followed by open parentheses, followed by any number of any character, followed by close parentheses and replace with ">".
It seems like this should work, unless I don't have the syntax right. Instead, I am getting the output,
where I want the output,
Here, sed seems to be matching the first greater than on the line instead of the second.
What am I missing here? I am guessing I need to escape the parentheses differently since they have their own meaning in sed.
thanks,
LMHmedchem
---------- Post updated at 06:19 PM ---------- Previous update was at 06:04 PM ----------
I found this, sed 's/>[^>]*$/>/'
which works by removing everything after the second >. This seems to give me what I want.
I would still like to know what was wrong with my sed command above if anyone can comment.
LMHmedchem
Last edited by LMHmedchem; 01-19-2016 at 07:11 PM..
is one way. You don't escape parenthesis when you want a real parenthesis, they are escaped to play back groupings in a specific order.
It never occurred to me to not escape a control character like parenthesis, thanks for the tip. This processed a 1GB input file in about 1.5 min, which is pretty slick I think.
Hi,
I hope you can help me out please?
I need to replace from character 8-16 with AAAAAAAA and the rest should stay the same after character 16
gtwrhtrd11111111rjytwyejtyjejetjyetgeaEHT
wrehrhw22222222hytekutkyukrylryilruilrGEQTH
hrwjyety33333333gtrhwrjrgkreglqeriugn;RUGNEURGU
... (4 Replies)
This seems like it should be an easy problem, but for some reason I am struggling with the solution.
I simply want to replace all characters after the first 3 characters with another character, preferably with sed.
Thanks in advance.
Like this, but producing the proper number of *'s:
sed... (30 Replies)
I have several files in a directory that look like this:
jacket-n r
potential-n -
outcome-n f
reputation-n b
I want to replace the characters in the second column with certain numbers. For instance, I want the letters 'f', 'r' and 'b' in the second column to replaced with 0 and I want the... (1 Reply)
Hi,
I'm trying to replace a range of characters by their position in each line by spaces.
I need to replace characters 95 to 145 by spaces in each line.
i tried below but it doesn't work
sed -r "s/^(.{94})(.{51})/\ /" inputfile.txt > outputfile.txt
can someone please help me... (3 Replies)
Hi,
I require to replace 2 items:
1. replace start of all lines in a file with ' except the first line
2. replace end of all lines in a file with '||chr( except last line
I am able to do the entire file using
sed -e s/^/\'/g -e s/$/\'\|\|chr\(/g "$file" > newfile.txt
but am not yet... (3 Replies)
Hi,
I require to replace 2 items:
1. replace start of all lines in a file with ' except the first line
2. replace end of all lines in a file with '||chr( except last line
I am able to do the entire file using
sed -e s/^/\'/g -e s/$/\'\|\|chr\(/g "$file" > newfile.txt
but am not yet able... (0 Replies)
Hi everyone
I have file1 contains:
'7832'
' 8765
6543
I want a sed command that will format as:
'7832' , '8765' , '6543'
I tried
sed -e s/\'//g -e 's/^*//;s/*$//' file1 > file2
sed -e :a -e '$!N; s/\n/ /; ta' file2
which gives: 7832 8765 6543
I need some help to continue with... (5 Replies)
Hi all,
Suppose I have a file with the contents below, and I only want to print words %S_ then | sort -u.
------------------------------
The %S_MSG that starts with '%.*s' is too long. Maximum length is %d.
The %S_MSG name '%.*s' contains more than the maximum number of prefixes. The... (5 Replies)
Hi,
Here is what I want to do
I want to search local directory and its sub directory, all the files which contain any string like _12345, then remove this string.
String is a combination of _ plus a random integer number.
For example, here is one line in a file before
<properties... (1 Reply)
How can I use sed to replace a ctrl character such as 'new line' (\0a) to something else? Or any other good command can do this job?
Thanks,
Hillxy (5 Replies)