Sponsored Content
Full Discussion: Compare 2 Strings
Top Forums Shell Programming and Scripting Compare 2 Strings Post 302976680 by aderamos12 on Sunday 3rd of July 2016 10:37:51 PM
Old 07-03-2016
Compare 2 Strings

I have 2 values V_1_4_4_b1 and V_1_5_1_RC_b1. I would need to compare them and determine if the 1st value is greater, less or equal
than the 2nd value. The result should need to have a return value.
I have below code in bash function but it seems it is not comparing it correctly. Any help will be greatly appreciated. Thanks.

Code:
 checkversion ()
{
  local mod="$1"
  local vers="$2"
  local slink="/app/mes_dwh/$mod/${mod}"
  local target1="$(readlink "$slink" | cut -d 'V' -f2)"
  local addstring="V"
  local target="$addstring$target1"
   case "$target" in
        V_[0-9]_[0-9]_[0-9]_RC_b* | \
        V_[0-9]_[0-9]_[0-9]_b* ) ;;
        *) fail "bad version string: '$target'";;
  esac
  
  #compare major version
  local old="$( echo "$target" | cut -d_ -f2 )"
  local new="$( echo "$vers" | cut -d_ -f2 )"
  test "$old" -gt "$new" && return 77
   #compare middle version
  old="$( echo "$target" | cut -d_ -f3 )"
  new="$( echo "$vers" | cut -d_ -f3 )"
  test "$old" -gt "$new" && return 77
   #compare minor version
  old="$( echo "$target" | cut -d_ -f4 )"
  new="$( echo "$vers" | cut -d_ -f4 )"
  test "$old" -gt "$new" && return 77
   #compare build version
  old="$( echo "$target" | cut -d_ -f5 )"
  new="$( echo "$vers" | cut -d_ -f5 )" 
 
  case "${old}_${new}" in
  b*_RC) return 77;;
  b*_b*)
     #compare build level of final version (with 'b' stripped off
     old="${old#b}"
     new="${new#b}"
     test "$old" -gt "$new"  && return 77
     ;;
  RC_RC)
     #compare level of RC version (with the 'b' stripped off)
    old="$( echo "$target" | cut -d_ -f6 | cut -c2- )"
    new="$(echo "$vers" | cut -d_ -f6 | cut -c2-)"
    test "$old" -gt "$new" && return 77
    ;;
  RC_b*) return 0;;
  *) fail "unrecognized pattern";;
  esac
  
   return 0
 }

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

to compare two strings

hi all, i am new to unix. Actually i need to compare two string and print the result... suppose type='sun' if; then echo good morning else echo good night fi whether the comparison is right r we need to use eq???? help me please.... :confused: thanks in advance.... (1 Reply)
Discussion started by: ithirak17
1 Replies

2. Shell Programming and Scripting

How to compare two strings

Hi all, I am trying to compare two strings/dates, but its throwing error::Syntax error at line 5: Please help !! Any alternate way to compare two dates is also fine.... logdate1=`date -u '+%Y.%m.%d %T'` sleep 5 logdate2=`date -u '+%Y.%m.%d %T'` if test... (5 Replies)
Discussion started by: prashant43
5 Replies

3. Shell Programming and Scripting

How to compare two strings using if

Hi, Here is my script #!/bin/ksh echo $pick_typ if ];then echo "inside if" else echo "outside if" fi when ever i pass CUS as parameter to this script am getting the correct value CUS, however if i pass ORD as parameter it is not coming inside if it is echoing else "Outside... (12 Replies)
Discussion started by: bhargav20
12 Replies

4. Shell Programming and Scripting

Compare text strings.

Hi Im trying to write a script that compare a text string. But it fails, I think it adds a extra line feed to the result and fails beacuse of that. The script. DT=`date +'%Y%m%d%H%M%S'` #ALARM_BIN=/users/alarms/ssa/alarms/bin QUEUE_THR=10 #unset offset #offset="***Server reports data... (3 Replies)
Discussion started by: vettec3
3 Replies

5. Shell Programming and Scripting

How to Compare 2 Strings ?

Hello , I want to Compare with 2 strings and get if they are True or not please would like some help on this #!bin/ksh echo "Enter Name 1" read Name1 echo "Enter Name 2" read Name2 echo "------------------------" echo "First Name: $Name1" echo "Second Name: $Name2" echo... (25 Replies)
Discussion started by: shatztal
25 Replies

6. Shell Programming and Scripting

Compare two strings

hi.. i have a problem to compare two string my code is like that if ] then echo "both data are correct" elif ] echo "data is wrong" fi here $username1 is taking value from file.. (7 Replies)
Discussion started by: shubhig15
7 Replies

7. Shell Programming and Scripting

How to compare two strings in a file

hello guyzz please help me out.. I have two file a.sh and b.sh it contains two string SD109 ,SD108 . I want to compaere these two string . If a.sh>b.sh do rebasing record time. else it shows no rebasing required. Thanks. (2 Replies)
Discussion started by: abhijtr
2 Replies

8. Shell Programming and Scripting

Compare strings with space in if statement

DEV> vi test_if_statement.sh "test_if_statement.sh" 9 lines, 205 characters proc_out="Normal completion" proc_out_comp="Normal completion" echo 'proc_out:'$proc_out echo 'proc_out_comp:'$proc_out_comp if then echo 'match' else echo 'no_match' fi ~ ~ ~ ~ ~ ~ ~ ~ ~ (4 Replies)
Discussion started by: cartrider
4 Replies

9. UNIX for Beginners Questions & Answers

If statement to compare two strings

Hi, I am trying to do the following to see if "ip" is already present in a file. if ; then echo "hi" else echo "hello" fi I am seeing errors on the if statement. Can someone please correct the syntax for me? Thanks (2 Replies)
Discussion started by: waince
2 Replies

10. Ubuntu

Compare 2 strings

I think there is a way to detect mouse movement. valuator changes if the mouse moves. So I need to compare the two strings. Not sure how to do that. How could I send the valuator string to a file ? I would need to do it twice. andy@7_~/Downloads$ xinput query-state 9 2 classes :... (7 Replies)
Discussion started by: drew77
7 Replies
xcutsel(1X)															       xcutsel(1X)

NAME
xcutsel - interchange between cut buffer and selection SYNOPSIS
xcutsel [-toolkitoption...] [-selection selection] [-cutbuffer number] OPTIONS
xcutsel accepts all of the standard X Toolkit command line options as well as the following: This option specifies the name of the selec- tion to use. The default is PRIMARY. The only supported abbreviations for this option are "-select", "-sel" and "-s", as the standard toolkit option "-selectionTimeout" has a similar name. This option specifies the cut buffer to use. The default is cut buffer 0. DESCRIPTION
The xcutsel program is used to copy the current selection into a cut buffer and to make a selection that contains the current contents of the cut buffer. It acts as a bridge between applications that do not support selections and those that do. By default, xcutsel will use the selection named PRIMARY and the cut buffer CUT_BUFFER0. Either or both of these can be overridden by com- mand line arguments or by resources. An xcutsel window has the following buttons: When this button is pressed, xcutsel exits. Any selections held by xcutsel are automatically released. When this button is pressed, xcutsel copies the current selection into the cut buffer. When this button is pressed, xcutsel converts the current contents of the cut buffer into the selection. The button labels reflect the selection and cutbuffer selected by command line options or through the resource database. When the "copy 0 to PRIMARY" button is activated, the button will remain inverted as long as xcutsel remains the owner of the selection. This serves to remind you which client owns the current selection. Note that the value of the selection remains constant; if the cutbuffer is changed, you must again activate the copy button to retrieve the new value when desired. X DEFAULTS
This program accepts all of the standard X Toolkit resource names and classes as well as: This resource specifies the name of the selection to use. The default is PRIMARY. This resource specifies the number of the cut buffer to use. The default is 0. WIDGET NAMES
The following instance names may be used when user configuration of the labels in them is desired: This is the "copy SELECTION to BUFFER" button. This is the "copy BUFFER to SELECTION" button. This is the "quit" button. BUGS
There is no way to change the name of the selection or the number of the cut buffer while the program is running. SEE ALSO
X(1X), xclipboard(1X), xterm(1X), text widget documentation, individual client documentation for how to make a selection. AUTHOR
Ralph R. Swick, DEC/MIT Project Athena xcutsel(1X)
All times are GMT -4. The time now is 02:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy