01-10-2006
sed problem - replacement string should be same length as matching string.
Hi guys, I hope you can help me with my problem.
I have a text file that contains lines like this:
78 ANGELO -809.05
79 ANGELO2 -5,000.06
I need to find all occurences of amounts that are negative and replace them with x's
78 ANGELO xxxxxxx
79 ANGELO2 xxxxxxxxx
Note that the number of x's should match the number of characters replaced, that is, since -809.05 is 7 chars long, it should be replaced by 7x's. The x's should also be in the same position as where the original negative sign was to preserve the line spacing of the file.
Any idea how to do this? Thanks for your help.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
Let me explain the situation.
There are many files in a directory and its sub-directories that conatin the string pattern "pa". I want to replace all such instances with the pattern "pranavagarwal"
doing a
grep "pa" `ls`
does give me all the instances of the occurence of that... (3 Replies)
Discussion started by: pranavagarwal
3 Replies
2. Shell Programming and Scripting
Dear all,
I have the following problem (it originates in the domain of bio-inf, but it is a general problem).
I have two files of one column each and of different length: a.txt and b.txt.
a.txt contains alphanumeric strings (around 30 digit) and there are 300 rows
b.txt contains alphanumeric... (2 Replies)
Discussion started by: ad_meis
2 Replies
3. Shell Programming and Scripting
I need to search and replace a particular string in a file. Only the exact match of the string should be replaced.
eg: File contents : abc abcd abcdef
--> Replace only 'abc' with 'xyz', but it should not replace abcd with xyzd.
So the o/p should be: xyz abcd abcdef.
How can this be done? I... (5 Replies)
Discussion started by: sngk
5 Replies
4. Shell Programming and Scripting
sed -i 's:"ps -ef | grep $(cat $PID_FILE) | grep -v grep":"ps -C java -o pid,cmd | grep ${SERVER_NAME} | cut -d' ' -f1 | grep -v grep":g' scriptName
That's what I'm attempting to do. I'm attempting to replace this:
ps -ef | grep $(cat $PID_FILE) | grep -v grep
with this:
ps -C java -o... (5 Replies)
Discussion started by: cbo0485
5 Replies
5. Shell Programming and Scripting
Hi,
What should be the syntax to match and replace an exact string using sed? And not replacing any string that contain the value?
Eg.
testtest
etstetst
testetst
testtttt
etsttest
testtesttest
testtest
I only want to replace the line with exact string "testtest" with "123456"
... (2 Replies)
Discussion started by: srage
2 Replies
6. UNIX for Dummies Questions & Answers
Hey everybody. I've got a simple problem but am unsure how to resolve it. I am using a script to edit multiple files at once. Inside the script I am using an sed command to make the changes. My problem is that I can only get it to work for stings that contain a word or words. How can I modify it to... (1 Reply)
Discussion started by: iwatk003
1 Replies
7. Shell Programming and Scripting
Hi,
I need to use the regex in the replacement string in SED command.
something like
sed -e ' s/\(^\{5\}\).\{150\}\(.*\)$/\10\{30\}1\{30\}A\{60\}B\{30\}\2/' abc
which means for all the lines in file abc that starts with 5 characters, I need to replace character 6-151... (6 Replies)
Discussion started by: snowline84
6 Replies
8. Shell Programming and Scripting
Dear Unix Forum Group Members,
Please do let me know how I can replace the double pipe with single pipe recursively on single record.
Sample Input Data:
DN set|Call prefix||| Called number address nature
0||| *789|||||||ALL number types
0||| 00||||||||ALL number types
10||... (5 Replies)
Discussion started by: srinu.kadem
5 Replies
9. Shell Programming and Scripting
I want to replace a string by contents of file.
I am trying the following sed command:
cat sample | sed "s^<enter description here>^`cat details`^"
But it is not working.
a=`cat details` and using $a will not help since it will affect the whitespaces.
What am I missing in the above sed... (5 Replies)
Discussion started by: anand_bh
5 Replies
10. Shell Programming and Scripting
Hello,
Just surfed on the web for probable answers but could not get them working.
I wish to replace the string containing spaces by another phrase but below answers did not work.
My string is:
PAIN & GAIN
I wish to convert it to:
P&G
I just need it working with sed with function -i
... (6 Replies)
Discussion started by: baris35
6 Replies
LEARN ABOUT PHP
eregi_replace
EREGI_REPLACE(3) 1 EREGI_REPLACE(3)
eregi_replace - Replace regular expression case insensitive
SYNOPSIS
string eregi_replace (string $pattern, string $replacement, string $string)
DESCRIPTION
This function is identical to ereg_replace(3) except that this ignores case distinction when matching alphabetic characters.
Warning
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
PARAMETERS
o $pattern
- A POSIX extended regular expression.
o $replacement
- If $pattern contains parenthesized substrings, $replacement may contain substrings of the form digit, which will be replaced
by the text matching the digit'th parenthesized substring; will produce the entire contents of string. Up to nine substrings
may be used. Parentheses may be nested, in which case they are counted by the opening parenthesis.
o $string
- The input string.
RETURN VALUES
The modified string is returned. If no matches are found in $string, then it will be returned unchanged.
EXAMPLES
Example #1
Highlight search results
<?php
$pattern = '(>[^<]*)('. quotemeta($_GET['search']) .')';
$replacement = '\1<span class="search">\2</span>';
$body = eregi_replace($pattern, $replacement, $body);
?>
NOTES
Note
As of PHP 5.3.0, the regex extension is deprecated in favor of the PCRE extension. Calling this function will issue an E_DEPRECATED
notice. See the list of differences for help on converting to PCRE.
Tip
eregi_replace(3) is deprecated as of PHP 5.3.0. preg_replace(3) with the i ( PCRE_CASELESS) modifier is the suggested alternative.
SEE ALSO
ereg(3), eregi(3), ereg_replace(3), preg_replace(3), quotemeta(3).
PHP Documentation Group EREGI_REPLACE(3)