String with different length


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting String with different length
# 1  
Old 11-18-2010
Java String with different length

let image that we have string:
QQQQQQQ:ABCDE:FFFFFF:GGGGG

in second field can be 0 or 5 characters

if A exist i need set variable ex: VAR=yes
if B exist i need set variable ex: VAR1=yes
if C exist i need set variable ex: VAR2=yes
etc ...
if second field is empty no variable to set
if in second field exist A and C only i need set VAR & VAR2 no others

can anybody help with that?
# 2  
Old 11-18-2010
Something like this?
Code:
#!/bin/ksh

str="QQQQQQQ:ABDE:FFFFFF:GGGGG"

set $(echo $str | tr ':' ' ')

if [[ $2 =~ "A" ]]
then
  VAR=yes
fi

if [[ $2 =~ "B" ]]
then 
  VAR1=yes
fi

if [[ $2 =~ "C" ]]
then 
  VAR2=yes
fi

# 3  
Old 11-18-2010
Quote:
Originally Posted by Franklin52
Something like this?
Code:
#!/bin/ksh

str="QQQQQQQ:ABDE:FFFFFF:GGGGG"

set $(echo $str | tr ':' ' ')

if [[ $2 =~ "A" ]]
then
  VAR=yes
fi

if [[ $2 =~ "B" ]]
then 
  VAR1=yes
fi

if [[ $2 =~ "C" ]]
then 
  VAR2=yes
fi

Why did you use [[...]] instead of [...]
Code:
if [[ $2 =~ "C" ]]

Code:
if [ $2 =~ "C" ]

# 4  
Old 11-18-2010
# str="QQQQQQQ:ABDE:FFFFFF:GGGGG"
# set $(echo $str | tr ':' ' ')
# [[ $2 =~ "A" ]] && echo yes
/usr/bin/ksh: 0403-057 Syntax error: `=~' is not expected.

I got this error Smilie

i trying do this on AIX - ksh (Version M-11/16/88f)

---------- Post updated at 09:44 AM ---------- Previous update was at 08:47 AM ----------

Ok i solved problem:

Quote:
str="QQQQQQQ:ABC:FFFFFF:GGGGG"

parms=$(echo $str | awk -F: '{print $2}')

[[ ! -z $parms ]] && {

echo $parms | grep -i "A" >/dev/null 2>&1
[[ $? -eq 0 ]] && VAR=yes

echo $parms | grep -i "B" >/dev/null 2>&1
[[ $? -eq 0 ]] && VAR1=yes

echo $parms | grep -i "C" >/dev/null 2>&1
[[ $? -eq 0 ]] && VAR2=yes

}

Last edited by vikus; 11-18-2010 at 01:01 PM..
# 5  
Old 11-18-2010
Quote:
Originally Posted by cola
Why did you use [[...]] instead of [...]
Code:
if [[ $2 =~ "C" ]]

Code:
if [ $2 =~ "C" ]

With the test command [[...]] you can use extended regular expressions like [[ $2 =~ "A" ]].

Quote:
Originally Posted by vikus
# str="QQQQQQQ:ABDE:FFFFFF:GGGGG"
# set $(echo $str | tr ':' ' ')
# [[ $2 =~ "A" ]] && echo yes
/usr/bin/ksh: 0403-057 Syntax error: `=~' is not expected.

I got this error Smilie

i trying do this on AIX - ksh (Version M-11/16/88f)
The test command [[..]] with an ERE works with ksh93 not with ksh88.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Determining length of string

I have this script which is very easy: file=`echo 01114` echo $file 01114 then I ran this if ; then echo "yes";fi it returned yes even though there are only 5 digits there So then I tried file=`echo abcd` echo $file abcd if ]; then echo "yes";fi if ]; then echo "yes";fi It... (2 Replies)
Discussion started by: newbie2010
2 Replies

2. Shell Programming and Scripting

String Length

Hi All, One of my source file is having Date column and the format of the column is YYYY-MM-DD. As per my business logic I have to check if the date format either YYY-MM-DD or YYYY-M-DD. If any records are in this format then I have print all the records and send those invalid records through... (4 Replies)
Discussion started by: suresh_target
4 Replies

3. UNIX for Dummies Questions & Answers

Read a string with leading spaces and find the length of the string

HI In my script, i am reading the input from the user and want to find the length of the string. The input may contain leading spaces. Right now, when leading spaces are there, they are not counted. Kindly help me My script is like below. I am using the ksh. #!/usr/bin/ksh echo... (2 Replies)
Discussion started by: dayamatrix
2 Replies

4. Programming

regarding string length

Helo, I have character array of sixe 128 char filename now I have one problem that when I enter filename as nothing I got value as " " ",`\0` " . when I find this string length ( " ",`\0`) as 1(one). actually I want to make this length as zero. so what should I do (10 Replies)
Discussion started by: amitpansuria
10 Replies

5. UNIX for Dummies Questions & Answers

length of string

Hi lets say i have a variable output="string" how can you find the length of the string contained in this variable? i guess "wc" cannot be used. its only for files. (8 Replies)
Discussion started by: silas.john
8 Replies

6. Shell Programming and Scripting

read string, check string length and cut

Hello All, Plz help me with: I have a csv file with data separated by ',' and optionally enclosed by "". I want to check each of these values to see if they exceed the specified string length, and if they do I want to cut just that value to the max length allowed and keep the csv format as it... (9 Replies)
Discussion started by: ozzy80
9 Replies

7. Shell Programming and Scripting

sed problem - replacement string should be same length as matching string.

Hi guys, I hope you can help me with my problem. I have a text file that contains lines like this: 78 ANGELO -809.05 79 ANGELO2 -5,000.06 I need to find all occurences of amounts that are negative and replace them with x's 78 ANGELO xxxxxxx 79... (4 Replies)
Discussion started by: amangeles
4 Replies

8. Shell Programming and Scripting

String length in ksh

Hi all, I have tried the following simple code in ksh. (length.sh) #! /usr/bin/ksh var="xxxxxx0987890" echo stringlength is ${#var} but this gives me a error saying "length.sh: bad substitution" Can some one please help me in resolving this. (4 Replies)
Discussion started by: ssgrpid
4 Replies

9. UNIX for Dummies Questions & Answers

length of the string

Hi all, pls help me in finding the length of the given string, do we need to write a code seperately or is there any command?? pls help. (3 Replies)
Discussion started by: vasikaran
3 Replies

10. UNIX for Dummies Questions & Answers

length of string

How one can measure the length of a string but not with the help of awk utility Can we write shell script for the same ? (2 Replies)
Discussion started by: dilipluhar
2 Replies
Login or Register to Ask a Question