[Solved] String Comparison


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [Solved] String Comparison
# 1  
Old 12-07-2012
[Solved] String Comparison

Hi I am beginner in writing shell scripting please tell me how to compare a string in Unix shell.
i have two variables in a shell script,

Code:
var1="00101 00201 00301 303 401 405"
var2="101 201 301"

i want to compare var1 with var2 . for example if 101 from Var1 present in Var2 or not. similarly 201 of Var1 present in Var2. If the value of Var1 & Var2 is matching i want to exclude those values and store the remaining values in Var3.
My output should be

Code:
Var3="303 401 405"

Please help to solve this problem.

Last edited by Scott; 12-07-2012 at 09:12 AM.. Reason: Code tags
# 2  
Old 12-07-2012
one (slightly ugly) method
Code:
export var1
export var2
var3=$(perl -e '@s=split/ /,$ENV{var2};$m=$ENV{var1};for (@s){$m=~s/\s?0*$_\s?/ /g;}print $m;' )

# 3  
Old 12-07-2012
Hi Skrynesaver,
For the same problem If the values of Var1 & Var2 are similar for eg
var1 = "203343 2222222222"
var2 = "203342 2222222222"


i want to allow upto one mismatch then how to get it done now in the above case it has a single mismatch so i should get that also in my output. i know there is something called agrep but there is any perlish way to do that
# 4  
Old 12-07-2012
Hi, anurupa777.
Code:
% perldoc -q approx
Found in /usr/share/perl/5.10/pod/perlfaq6.pod
   How can I do approximate matching?
       See the module String::Approx available from CPAN.

Best wishes ... cheers, drl
# 5  
Old 12-07-2012
Shell:
Code:
var3=
for i in $var1; do
  for j in $var2; do
    if [ $i -eq $j ]; then
      continue 2
    fi
  done
  var3="$var3$i "
done

# 6  
Old 12-09-2012
Hi all,
Thanks for your reply
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk string comparison unterminated quoted string andrule of thumb

I have the logic below to look up for matches within the columns between the two files with awk. In the if statement is where the string comparison is attempted with == The issue seems to be with the operands, as 1. when " '${SECTOR}' " -- double quote followed by single quote -- awk matches... (1 Reply)
Discussion started by: deadyetagain
1 Replies

2. Shell Programming and Scripting

String comparison

hi team, i want to compare the below string from logs, but its is not working. if ]; then echo "restart some process" fi (4 Replies)
Discussion started by: mfaizan40
4 Replies

3. Shell Programming and Scripting

[Solved] String integer comparison

I am trying to execute something like this file=/tmp/test.txt firstline=$(head -n 1 $file) value=`echo $firstline | cut -d'=' -f2` if then echo true fi i read the first line of a file, cut to the numeric value in the first line and check if it greater than 2 but for some... (11 Replies)
Discussion started by: madhan_dc
11 Replies

4. Homework & Coursework Questions

passing letters from an array into a string for string comparison

attempting the hangman program. This was an optional assignment from the professor. I have completed the logical coding, debugging now. ##I have an array $wordString that initializes to a string of dashes ##reflecting the number of letters in $theWord ##every time the user enters a (valid)... (5 Replies)
Discussion started by: lotsofideas
5 Replies

5. Shell Programming and Scripting

to extract string from main string and string comparison

continuing from my previous post, whose link is given below as a reference https://www.unix.com/shell-programming-scripting/171076-shell-scripting.html#post302573569 consider there is create table commands in a file for eg: CREATE TABLE `Blahblahblah` ( `id` int(11) NOT NULL... (2 Replies)
Discussion started by: vivek d r
2 Replies

6. Shell Programming and Scripting

Help with string comparison

#!/bin/sh PRINTF=/usr/bin/printf MACHINE_NAME=`uname -n` TIME=`date +"%H"` $PRINTF "Welcome to $MACHINE_NAME. What is your name?\n" read NAME if ; then $PRINTF "Good morning $NAME, how are you?\n" elif ; then $PRINTF "Good afternoon $NAME, how are you?\n" else $PRINTF "Good... (2 Replies)
Discussion started by: ikeQ
2 Replies

7. Shell Programming and Scripting

String comparison

Hi, I have the below logic. Here 'X' is a variable having some string. if then echo "i dont need to go to ofc" else echo "i need to go to ofc" Please help me to write it in unix. Thanks. (2 Replies)
Discussion started by: 46019
2 Replies

8. Shell Programming and Scripting

Help with String Comparison

I'm running the following script to compare string values to a regexp: for entry in $(lpinfo -v | cut -c 1-); do if then echo "blah" continue fi done Whenever I run it, each token of lpinfo is being interpreted as a command and I get errors such as: ... (2 Replies)
Discussion started by: hypnotic_meat
2 Replies

9. Shell Programming and Scripting

string comparison

Hello experts, (tcsh shell) Quite new to shell scripting... I have got a file with a single word on each line. Want to be able to make a comparison such that i can read pairs of words that are ROT13 to each other. Also, i would like to print the pairs to another file. Any help... (5 Replies)
Discussion started by: Jatsui
5 Replies

10. Programming

String Comparison

Hi all, I have a file like this ibhib=ere wefwfl=werfe sfdes=wef From this file, i need to get the lefthand side string with respect to the corresponding righthand side string. i.e, I need to get the string "ere" with respect to "ibhib". But i am stuck with how to compare a string... (1 Reply)
Discussion started by: abey
1 Replies
Login or Register to Ask a Question