Visit Our UNIX and Linux User Community


Comparing 2 variables in UNIX


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Comparing 2 variables in UNIX
# 1  
Old 02-25-2019
Comparing 2 variables in UNIX

Hi,

I have 2 variables as given below. How can i compare them and say its matching ? Appreciate your help
Code:
VAR1=describe/read/write
VAR2=read/write/describe

Thanks,


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 02-25-2019 at 06:11 PM.. Reason: Added CODE tags.
# 2  
Old 02-25-2019
Please become accustomed to post - at least - your OS and shell versions.
Comparing variables is done quite differently in the various tools / languages. So an answer to your question is impossible at the current level of information.
# 3  
Old 02-25-2019
Am using 3.10.0-957.1.3.el7.x86_64 and ksh shell

Thanks,
# 4  
Old 02-25-2019
And, what is required of the contents of the two variables to determine that they match?

If VAR3 had been set with:
Code:
VAR3=abcddeeeeiirrrstw//

would it match? It does contain every character that is in the other two variables and contains each of them the same number of times.

And, what about:
Code:
VAR4=abcdeirstw/

? It contains every character that is in the other three variables, but only has one occurrence of each of those characters.

Does case matter?
Code:
VAR5=Read/wRiTe/DeScRiBe

What have you tried to solve this on your own?

In addition to knowing which version of an operating system you're using, it would also help to know what operating system you're using? And, what version of ksh are you using?
# 5  
Old 02-25-2019
You could try something like this quick and dirty approach:
Code:
#!/bin/ksh
# similar.sh

ifs_old="${IFS}"
IFS="/"

VAR1=describe/read/write
VAR2=read/write/describe

VAR3=( ${VAR1} )
VAR4=( ${VAR2} )
count=1

for string in ${VAR3[0]} ${VAR3[1]} ${VAR3[2]}
do
    for n in 0 1 2
    do
        if [ "${VAR4[${n}]}" = "${string}" ]
        then
            if [ ${count} -eq 3 ]
            then
                echo "Two variables, VAR1 and VAR2 are similar!"
            fi
            count=$(( count+1 ))
        fi
    done
done

IFS="${ifs_old}"


Last edited by wisecracker; 02-26-2019 at 04:16 AM.. Reason: Remove the very last underscore charachter on last line.
This User Gave Thanks to wisecracker For This Post:

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Comparing two variables

I have a script like this. Just couldn't get the comparison part work. Any thought? thanks, #!/usr/bin/ksh -x STEP=`echo $(basename $0 .ksh) | tr "" ""` log=/skip.log while read LINE do if then echo `date`: STEP $STEP skipped by user >> $log exit 0 fi done < $1 echo... (0 Replies)
Discussion started by: ghostmic
0 Replies

2. Shell Programming and Scripting

awk comparing variables

Is there a way to compare variables in a 'awk'? I've been trying for a while and can't figure it out. I'm guessing its not possible :/ VAR=Bob awk '$3 == $VAR { print $1 }' file.txt Regards Jikuu (4 Replies)
Discussion started by: Jikuu
4 Replies

3. Shell Programming and Scripting

comparing variables in an if statement

#!/bin/bash #timetest TIMENOW="$(date)" T1=12:00:00 echo $TIMENOW >timenow cat timenow |cut -f4 -d' ' >time1 T2=$(sed -n "${1}p" time1) echo "T1 = " $T1 echo "T2 = " $T2 if then echo $T1 else echo $T2 fi I thought scripting was simple! So why does this script result in: T1 =... (4 Replies)
Discussion started by: habuchas
4 Replies

4. Shell Programming and Scripting

comparing multiple variables by 'if then'

Hi, I am a noob at shell scripting. basically I am trying to compare row counts from 8 tables in different databases. I have managed to get the row counts using awk from the spool files for both databases. now I have 16 variables with me for database 1 : $A $B $C $D $E $F $G... (3 Replies)
Discussion started by: smallville
3 Replies

5. Shell Programming and Scripting

Comparing variables in awk

I'm writing a shellscript that monitors the price of a watch. If the prices changes, it should email me. The body of the email will show the old price and the new price. However when I compare the two awk variables(oldprice and newprice) it always says they're not the same. The shellscript goes out... (2 Replies)
Discussion started by: Shinsuio
2 Replies

6. UNIX for Dummies Questions & Answers

comparing variables

im trying to compare ipaddresses. i loop through an array to see if the ip is already is in the array and if it is it should set a flag and then i wont add it to the array. but its just adding all the ipaddresses to the array if ] then ... (3 Replies)
Discussion started by: magnia
3 Replies

7. Shell Programming and Scripting

Grabbing variables and comparing

I have two computers with dynamic IP addresses and am using dyndns so that they are identifiable as the same computer even if their IPs change (we'll call them host1.dyndns.com and host2.dyndns.com). I also have a remote server which I would like to store my computers' IP addresses on. There is a... (9 Replies)
Discussion started by: kerpm
9 Replies

8. UNIX for Dummies Questions & Answers

comparing 2 string variables in unix

search=Jul 22 date=Jul 22 if then echo They match >>this piece of code does not detect that search and date are equivalent strings.. what's wrong with it? (17 Replies)
Discussion started by: katdaniel16
17 Replies

9. Shell Programming and Scripting

Comparing two variables

Script #!/bin/sh hardware=PC os=WindowsNET for i in `cat newservers` do x=`sudo /opt/openv/netbackup/bin/admincmd/bpplclients |grep $i |head -40 |grep $i|awk '{print $3;exit}'` if then echo "$i is already added" else echo "Need to add" fi done O/p in debug mode bash-2.05$... (3 Replies)
Discussion started by: rajip23
3 Replies

10. UNIX for Dummies Questions & Answers

comparing variables

I have searched and found a few threads that have dealt with this, but the examples I've tried haven't seemed to help. I am monitoring our database log for high checkpoints. I can parse out the checkpoint value which can be anywhere from zero into a 3 digit number. I set a variable to be the... (3 Replies)
Discussion started by: MizzGail
3 Replies

Featured Tech Videos