Help with if condition


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with if condition
# 8  
Old 08-04-2014
Right, we've something to work from now.

Do you just want the one line output, or the whole Release/Branch/Build & PNumber (adjusted)

I'm not too sure why you use cat $line > detail.txt at all. cp $line detail.txt would do, but you could eliminate this and just use $line in the next statement (and remove the cat there too):-
Code:
var=`awk -F ":" '/PNumber/ {print $2}' $line`

.... or even:-
Code:
grep "PNumber" $line | read zzz var

Although perhaps a little inefficient (and we've all done stuff like this) nothing seems to be 'wrong' apart from seaching for the PatchNumber strings rather than PNumber, but it just depends what you actually want to see.

If you have three files in your loop, what output do you want to get? You are probably very close already.



Robin
# 9  
Old 08-04-2014
Code:
stabilization.PatchBuild.2013. 6
stabilization.PatchBuild.2013. 6
stabilization.PatchBuild.2013. 7
stabilization.PatchBuild.2013. 7


I get the o/p as above but i don't want space between 2103. &$var

i wan it as shown below

Code:
stabilization.PatchBuild.2013.6
stabilization.PatchBuild.2013.6
stabilization.PatchBuild.2013.7
stabilization.PatchBuild.2013.7

Code:
while read line
do
cp $line detail.txt
var=`cat detail.txt|awk -F ":" '/PNumber/ {print $2}'`
if [ $var == 00 ]
then
echo "stabilization.Build.2013"
else
echo "stabilization.PatchBuild.2013.$var"
fi
done < a.txt


Moderator's Comments:
Mod Comment Please use CODE tags for input and output/errors as well as code.
# 10  
Old 08-04-2014
The variable var appears to be a string with a leading blank. Perhaps one of the other suggestions to get the value set will do the trick, but at worst we could use shell functions to remove the leading space like this:-
Code:
:
:
else
   echo "stabilization.PatchBuild.2013.${var# }"
fi
:
:

This will trim a single leading space, if there is one. If you want to trim off everything up to the last space (in case you have more) you can use ${var## } instead, but beware if your variable really does contain spaces that you want.




Robin
# 11  
Old 08-04-2014
robin,

thanks for the solution but this gives me o/p as

Code:
stabilization.Build.2013
stabilization.Build.2013
./verison.sh: line 13: stabilization.PatchBuild.2013.${var #}: bad substitution

---------- Post updated at 06:02 PM ---------- Previous update was at 05:52 PM ----------

got the solution

thanks for all ur help

Code:
var=`cat detail.txt|awk -F ":" '/PatchNumber/ {print $2}'|tr -d ' '`

# 12  
Old 08-04-2014
Thanks nikhil_jain.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

IF [ condition ] help

Hi all Unix newbie - please be gentle Am modifying an existing script to error trap a variable with a length of 0 #!/bin/bash ipfile='/var/data/bin/ipaddress' ] && ipold="$(< "$ipfile" )" ipnew="$( wget -q -O - checkip.dyndns.org | sed -e 's/.*Current IP Address: //;s/<.*$//' )" #... (6 Replies)
Discussion started by: CRChamberlain
6 Replies

2. Shell Programming and Scripting

If condition return 0 even when it fails to satisfy te condition

HI My doubt may be basic one but I need to get it clarified.. When i use "if" condition that checks for many AND, OR logical conditions like if ]; then return 0 fi Even the if condition fails it returns as zero.. Any clue.. But if i add else condition like if ]; ... (2 Replies)
Discussion started by: Priya Amaresh
2 Replies

3. Shell Programming and Scripting

if condition

if chr1:109457160 1 109457160 99.1735537190083 + chr1:109457233 1 109457233 99.1735537190083 - chr1:109457614 1 109457614 99.1735537190083 + chr1:109457618 1 109457618 100 + chr1:109457943 1 109457943 100 - chr1:109458224 1 109458224 99.1735537190083 - file1.txt If 6th column in... (3 Replies)
Discussion started by: johnkim0806
3 Replies

4. Shell Programming and Scripting

redirect stdout echo command in condition A run in condition B

hi, I have some problems in my simple script about the redirect echo stdout command inside a condition. Why is the echo command inside the elif still execute in the else command Here are my simple script After check on the two diff output the echo stdout redirect is present in two diff... (3 Replies)
Discussion started by: jao_madn
3 Replies

5. HP-UX

Difference between [condition] and [[condition]] and ((condition)) when used with if condition

Executed the following if conditions .. and got different results . only (( )) gave correct o/p with all scenarios . Can anybody please let me know what is the difference between and ] and ((condition)) when used with if condition. And why each condition gave different result. 1.... (2 Replies)
Discussion started by: soumyabubun
2 Replies

6. Shell Programming and Scripting

or in a IF condition

Hi I have to evaluate multiple conditions with an 'or'. Here is an example: if when i use the above i get a error message ' Please help me to know if i am missing something in the syntax. how do i achieve multiple "or" in the same if condition. Thanks. (11 Replies)
Discussion started by: sunrexstar
11 Replies

7. Shell Programming and Scripting

If Condition

Hi, I am trying to execute this command, but is it not working, says "`;' unexpected" eval $lgrep $SAM_CMD ; if ; then ; echo "No Error" ; fi What i want is, return the command output, if it is non zero, say "No Error". Thanks, John. (21 Replies)
Discussion started by: john_prince
21 Replies

8. Shell Programming and Scripting

if..else condition

i have a paramter data_date in which i am passing a string value.i want to find out another paramter file_date from this.the logic is given below if day of data_date = sunday or monday then file_date=data_date-1 else file_date=data_date-2 i am passing data_date as 20061027. how can i... (3 Replies)
Discussion started by: dr46014
3 Replies

9. Shell Programming and Scripting

if condition

Hi friends, :) In a shell script i found the following if condition. echo -n "Which version of $1 do you want to restore ('0' to quit)? : " read desired if ${desired:=1} -ge $index ] ; then echo "$0: Restore canceled by user: index value too big." >&2 exit 1 fi Can... (1 Reply)
Discussion started by: ravi raj kumar
1 Replies

10. Shell Programming and Scripting

if condition ...

i have following if condition if above statement is case sensitive.....what is syntax if i have to make above comparision case insensetive (4 Replies)
Discussion started by: mahabunta
4 Replies
Login or Register to Ask a Question