string manipulation


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting string manipulation
# 1  
Old 02-13-2008
string manipulation

Hi, I have searched this long and hard and don't seem to see another post on this issue.
I have two strings each with the same characters but in a different order.

String1=”word”
String2=”dwor”

I want to test them to show their similarity. Unfortunately I can't do a sort so that they will be identical (dorw) as that only works on file. Can someone propose a non sed/awk way of doing this.

Thanks

C.J
# 2  
Old 02-13-2008
Please indicate how you're defining "similarity"
# 3  
Old 02-13-2008
sorry I meant identical. This is for the purposes of a test. The strings are already very similar. They only differ in the way of content by order. I want to run a command(s) on them so that they look the same.
# 4  
Old 02-13-2008
but they can look the same in many different permutations, 96 I think for a four letter word. How do you know which permutation you want them to be identical too?
# 5  
Old 02-13-2008
Can you a give a permutation for one that can be put in a test command?

I was hoping to manipulate them so they both are identical.

E.g. sort characters in order

string1=dorw
string2=dorw

They are identical and can be put in a test command, returning true. The strings already have the same length and letters so I thought there must be some way to get them like that.
# 6  
Old 02-14-2008
very awkward method

Hi,

My solution is very awkward anc complex, but it works well in my PC.

So just try it, to be honest, i do not know how to sort a single string. Seems the split/sort/join are all working for a file but not a single string.

If you have found any good solution, do let me know. i am really curious about this thread.

Code:
echo "first string"
read str1
echo "second string"
read str2
echo $str1 | sed 's/./& /g' > temp1
echo $str2 | sed 's/./& /g' > temp2
for i in `cat temp1`
do
echo $i
done | sort > t1
for j in `cat temp2`
do
echo $j 
done | sort > t2
a=`comm -3 t1 t2 | wc -l`
if [ $a -le 0 ]
then
echo "similiar"
else
echo "different"
fi
rm temp1 temp2 t1 t2

# 7  
Old 02-14-2008
I'm not sure what you want to do. Do you want to proof the equality of the strings? eg. same length, same chars, same order? Or do you want to put one string of which you already have proven length and same chars in the same order as the first string? Or don't care about the order of either of them, as long as they're in the same order, whatever that order is?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

String Manipulation

I'm making a little game in Perl, and I am trying to remove the first instance of a character in an arbitrary string. For example, if the string is "cupcakes"and the user enters another string that contains letters from "cupcake" e.g: "sake"the original string will now look like this (below)... (3 Replies)
Discussion started by: whyte_rhyno
3 Replies

2. Shell Programming and Scripting

Deleting part of a string : string manipulation

i have something like this... echo "teCertificateId" | awk -F'Id' '{ print $1 }' | awk -F'te' '{ print $2 }' Certifica the awk should remove 'te' only if it is present at the start of the string.. anywhere else it should ignore it. expected output is Certificate (7 Replies)
Discussion started by: vivek d r
7 Replies

3. Shell Programming and Scripting

String manipulation

Hello Could you help with small script: How to split string X1 into 3 string String X1 can have 1 or many strings X1='A1:B1:C1:D1:A2:B2:C2:D2:A3:B3:C3:D3' This is output which I want to have: Z1='A1:B1:C1:D1' Z2='A2:B2:C2:D2' Z3='A3:B3:C3:D3' (5 Replies)
Discussion started by: vikus
5 Replies

4. Shell Programming and Scripting

String manipulation

Hi All, Pls help me out on the below, 05 LAMSZ201-ZM-MEMO2-DATE02-5 PIC X(10). 05 LAMSZ201-ZM-MEMO2-AMT02-5 PIC S9(13)V99. 05 LAMSZ201-ZM-MEMO2-TYPE02-6 PIC XXX. 05 LAMSZ201-ZM-MEMO2-DATE02-6 PIC X(10). 05 ... (2 Replies)
Discussion started by: baskivs
2 Replies

5. Shell Programming and Scripting

String Manipulation

Hi, I have a file in the following format 123|shanwer|15DEC2010|bgbh|okok|16JAN3000|okok| I want the following to be in following format 123|shanwer|12\15\2010|bgbh|okok|01\16\3000|okok| SED/PERL/AWK Gurus could you please help me with this? Thanks Shankar (8 Replies)
Discussion started by: Shan2210
8 Replies

6. Shell Programming and Scripting

I need help with string manipulation

First of all I am VERY new to this so bare with me and try and explain everything even if it seems simple. Basically I want to read a line of text from a html file. See if the line of text has a certain string in it. copy an unknown number of characters (the last 4 characters wiil be ".jpg" the... (1 Reply)
Discussion started by: c3lica
1 Replies

7. Shell Programming and Scripting

string manipulation

i have a file that contains a pattern like this: ajay 1234 newyork available kumar 2345 denver singh 2345 newyork ajay 3456 denver kumar 3456 newyork singh 3456 delhi available ajay 4567 miami kumar 4567 miami singh 4567 delhi i want to search for each line... (5 Replies)
Discussion started by: ajay41aj
5 Replies

8. Shell Programming and Scripting

String manipulation

Hi, i am just gettin exposed to UNIX. Could anyone of u help me out with dis problem..? i have a variable 'act' which has the value as follows, echo $act gives -0- -0- -----0---- 2008-06-04 -0- -0- echo "$act" | awk '{print ($act)}' gives, -0- -0- -----0---- 2008-06-04 -0- -0- I... (2 Replies)
Discussion started by: jerrynimrod
2 Replies

9. UNIX for Dummies Questions & Answers

string manipulation

Hi, I have a file with rows of text like so : E100005568374098100000015667 D100005568374032000000112682 H100005228374060800000002430 I need to grab just the last digits(bolded) of each line without the proceeding text/numbers. Thanks (5 Replies)
Discussion started by: james6
5 Replies

10. Shell Programming and Scripting

String Manipulation

Hi, Suppose I have the following text in a file. ORA-00942: table or view does not exist ORA-01555: snapshot too old: rollback segment number string with name "string" too small Is there any way I can list all the text that starts only with 'ORA-'? Or there any grep command that can... (7 Replies)
Discussion started by: kakashi_jet
7 Replies
Login or Register to Ask a Question