12-08-2010
find replace a pattern and following characters in a word
Suppose that I have a string "one:#red two:#yellow three:#gr'een four:#blu^e" and I want to replace the pattern :# and the following characters in the word with nothing. The output string should look "one two three four" How can I do this with sed.
Some points to consider (a) the last word in the sentence. (b) the first word in the sentence and (c) I am processing non-english text, so I have special characters '^ in it (d) lets assume the separator string :# are not special characters.
Many thanks in advance.
J.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
Here is my pattern
CREATE USER LZ
IDENTIFIED BY VALUES 'A0144280ESD70'
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP1 PROFILE DEVELOPER_D_1
ACCOUNT UNLOCK
/
The Sed command must look for the Line that contains TEMPORARY TABLESPACE and replace the immediate word... (4 Replies)
Discussion started by: rajan_san
4 Replies
2. UNIX for Dummies Questions & Answers
I plan to use sed in a script to replace a string. My problem is the last 6 characters of the word to be replaced can be different each time, plus it's not always in the same spot on the line so I can't use cut or nawk to get the field. So I am looking for a way to find a certain word in a file,... (6 Replies)
Discussion started by: mikayla73
6 Replies
3. Shell Programming and Scripting
Hi,
I am looking for any script which can do the following.
have to read a pattern from fileA and copy it to fileB.
fileA:
...
...
Header
...
...
..p1
...
...
fileB:
....
....
Header (3 Replies)
Discussion started by: anilvk
3 Replies
4. Shell Programming and Scripting
Hello,
I have several xml files from which I want to find and return a particular string
I want to locate the InId="00000008". Now that is inlcuded within a tag and ofcourse the number is different every time
this is what I came up with given that after greping the line that contains the... (6 Replies)
Discussion started by: TasosARISFC
6 Replies
5. Shell Programming and Scripting
Hi Everyone,
I am looking for a simple way for replacing all the files under a directory that use the server "xsgd1234dap" with "xsdr3423pap".
For Example:
In the Directory,
$pwd
/home/nick
$ grep -l "xsgd1234dap" *.sh | wc -l
119
I have "119" files that are still using... (5 Replies)
Discussion started by: filter
5 Replies
6. Shell Programming and Scripting
Hi experts,
My file looks something like this.
abcXX4,7,234
abc,defg,45XX23,74,123
The number of commas left of the XX can vary. The question is how can I replace all the commas left of the 'XX' with an underscore?
abcXX4,7,234
abc_defg_45XX23,74,123
Thanks! (5 Replies)
Discussion started by: abercrom
5 Replies
7. Shell Programming and Scripting
Hi All,
I have a XML file which is looks like as below. <<please see the attachment >>
<?xml version="1.0" encoding="UTF-8"?>
<esites>
<esite>
<name>XXX.com</name>
<storeId>10001</storeId>
<module>
... (4 Replies)
Discussion started by: Rajeev_hbk
4 Replies
8. Shell Programming and Scripting
Hi ALL
i have file.txt with text :
4c:66:41:6b:b5:5f, 00:00,00:00, -22:-25, users1, 10.101.3.119, host1
4c:66:41:2c:c1:5a, 00:00,00:00, -21:-25, 10.101.3.112, host1
4c:66:41:6b:b1:5e, 00:00,00:00, -21:-25, users1, 10.101.3.113, host1
4c:66:41:2c:c1:5b, 00:00,00:00, -21:-25, 10.101.3.115,... (3 Replies)
Discussion started by: gnulyn
3 Replies
9. Shell Programming and Scripting
Dear ALL,
I have sample file :
4c:66:41:6b:b5:5f, 00:00,00:00, -22:-25, robert, 10.101.3.119, host1
4c:66:41:2c:c1:5a, 00:00,00:00, -21:-25, 10.101.3.112, host1
4c:66:41:6b:b1:5a, 00:00,00:00, -21:-25, Julia, 10.101.3.113, host1
4c:66:41:2c:c1:5b, 00:00,00:00, -21:-25, 10.101.3.115, host1... (2 Replies)
Discussion started by: gnulyn
2 Replies
10. UNIX for Beginners Questions & Answers
Hello Team,
Any help would be much appreciated for the below scenario:
I have a sed command below where I am trying to replace the contents of 'old_pkey' variable with 'new_pkey' variable in a Soap request file (delete_request.txt). This works fine for regular string values, but this new_pkey... (8 Replies)
Discussion started by: ChicagoBlues
8 Replies
LEARN ABOUT PHP
levenshtein
LEVENSHTEIN(3) 1 LEVENSHTEIN(3)
levenshtein - Calculate Levenshtein distance between two strings
SYNOPSIS
int levenshtein (string $str1, string $str2)
DESCRIPTION
int levenshtein (string $str1, string $str2, int $cost_ins, int $cost_rep, int $cost_del)
The Levenshtein distance is defined as the minimal number of characters you have to replace, insert or delete to transform $str1 into
$str2. The complexity of the algorithm is O(m*n), where n and m are the length of $str1 and $str2 (rather good when compared to simi-
lar_text(3), which is O(max(n,m)**3), but still expensive).
In its simplest form the function will take only the two strings as parameter and will calculate just the number of insert, replace and
delete operations needed to transform $str1 into $str2.
A second variant will take three additional parameters that define the cost of insert, replace and delete operations. This is more general
and adaptive than variant one, but not as efficient.
PARAMETERS
o $str1
- One of the strings being evaluated for Levenshtein distance.
o $str2
- One of the strings being evaluated for Levenshtein distance.
o $cost_ins
- Defines the cost of insertion.
o $cost_rep
- Defines the cost of replacement.
o $cost_del
- Defines the cost of deletion.
RETURN VALUES
This function returns the Levenshtein-Distance between the two argument strings or -1, if one of the argument strings is longer than the
limit of 255 characters.
EXAMPLES
Example #1
levenshtein(3) example
<?php
// input misspelled word
$input = 'carrrot';
// array of words to check against
$words = array('apple','pineapple','banana','orange',
'radish','carrot','pea','bean','potato');
// no shortest distance found, yet
$shortest = -1;
// loop through words to find the closest
foreach ($words as $word) {
// calculate the distance between the input word,
// and the current word
$lev = levenshtein($input, $word);
// check for an exact match
if ($lev == 0) {
// closest word is this one (exact match)
$closest = $word;
$shortest = 0;
// break out of the loop; we've found an exact match
break;
}
// if this distance is less than the next found shortest
// distance, OR if a next shortest word has not yet been found
if ($lev <= $shortest || $shortest < 0) {
// set the closest match, and shortest distance
$closest = $word;
$shortest = $lev;
}
}
echo "Input word: $input
";
if ($shortest == 0) {
echo "Exact match found: $closest
";
} else {
echo "Did you mean: $closest?
";
}
?>
The above example will output:
Input word: carrrot
Did you mean: carrot?
SEE ALSO
soundex(3), similar_text(3), metaphone(3).
PHP Documentation Group LEVENSHTEIN(3)