09-13-2011
If Then ElseIf Script - Confusion Around Expression's Syntax
Hello,
I am relatively new to UNIX scripting and am learning a lot. I have already tried several searches on this website and have tried various syntax options suggested to no avail. I am obviously not writing the script correctly. I really do appreciate any and all the help.
Below is an outline of what I am looking to accomplish. The text in blue highlights the sections I am struggling with.
GOALS:
IF
The file, /test/me/test.csv is less than 295 bytes
THEN
Do commands here (already have this part written successfully)
ELIF
The file, /test/me/test.csv is >= 295 bytes AND if the FIRST row in that file contains the header string that begins with, ie. Tick_Num,Line_No,*
THEN
Do commands here (already have this part written successfully)
ELIF
The file /test/me/test.csv = 0 bytes
THEN
Do commands here (already have this part written successfully)
FI
Again, thank you very much.
D
Last edited by dqrgk0; 09-13-2011 at 11:07 AM..
Reason: code tags, see PM
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
HI again, still working on the assignment, which is really hard given we just started unix 4 weeks ago. This script should change the permission for the user depending if its x, w or r, to the opposite. When i try to run it, I am getting expression error. Can you spot where the problem is? I really... (3 Replies)
Discussion started by: morava
3 Replies
2. Shell Programming and Scripting
Hello, I am getting Expression syntax message and I cannot figure out what's wrong. This program will print all the odd numbers between 0 and the one the user enters, in cshell. I think my logic is either good or almost there, but i dont see the errors. I think it could be the spaces between... (1 Reply)
Discussion started by: morava
1 Replies
3. Shell Programming and Scripting
Below is the code.
nawk -F "|" 'FNR==NR{a=$3 OFS $4 OFS $5 OFS $6;next} {\
if ($5 in a)\
{print $1,"ABC",$5,"I",a, $2,$3,$4 OFS OFS OFS OFS OFS OFS OFS OFS $2"-"$3"-"$4} ; \
elseif ($5=="g")\
print $1,"ABC",$5,"I",$5 OFS OFS OFS OFS $2,$3,$4 OFS OFS OFS OFS OFS... (8 Replies)
Discussion started by: pinnacle
8 Replies
4. Shell Programming and Scripting
Hi
what's the correct way of writing if
1)if "$time_diff" -gt 5
then
echo "killing hung process \n"
fi
2)if test $time_diff -gt 5
then
echo "killing hung process \n"
fi
where -time_diff=$(($Sam - $current_min))
and current_min=`date +%M`
infact both are giving Syntax... (1 Reply)
Discussion started by: Anteus
1 Replies
5. Shell Programming and Scripting
#! /bin/csh
set umr=UMR
foreach i ( `ls`)
set file_nm=$i
set bh_nm=`echo $file_nm | cut -d"_" -f2`
if($bh_nm !=$umr) then
{
set bh_ext=`echo $file_nm | cut -d"_" -f4`
set bh_num_nm="$bh_nm $bh_ext a .txt"
mv $file_nm $bh_num_nm
}
... (1 Reply)
Discussion started by: jdsignature88
1 Replies
6. Shell Programming and Scripting
for (( i=1; i<=3; i++ )); do
for (( j=1; j<=3; j++ )); do
for (( k=1; k<=3; k++ )); do
echo $i$j$k
done
done
done
Will the above code work on a BOURNE shell?
As far as my understanding is, if I am writing the above code in a file..say lol.sh and then running it through the terminal using... (7 Replies)
Discussion started by: navienavnav
7 Replies
7. Shell Programming and Scripting
I'm pretty new to shell scripting, but I am catching on quick. I did see one of the stickied threads about the csh, and I think this is relevant, but I don't understand enough to make a decision based on it. So as you'll see below, I use the |csh pipe, and if that is not correct, I'm certainly... (2 Replies)
Discussion started by: macman104
2 Replies
8. Shell Programming and Scripting
Hello there!
I am having some difficulties in the syntax of a script.
I am a newbie :)
What i want is a script that copies 1 or more files to a destination folder with
a question if file allready exists
if ($#argv > 2) then
if (-d $argv($#argv)) then
foreach x ($*)
cp -i $x to... (4 Replies)
Discussion started by: ennui92
4 Replies
9. Shell Programming and Scripting
I've found this script which seems very promising to solve my issue:
To search and replace many different database passwords in many different (.php, .pl, .cgi, etc.) files across my filesystem.
The passwords may or may not be contained within quotes, single quotes, etc.
#!/bin/bash... (4 Replies)
Discussion started by: spacegoose
4 Replies
10. Shell Programming and Scripting
I want to make a REG Expression to validate the directory.
my dirsample is below:
/abc/abc/abc
abc/abc/abc
abc/abc/abc/
/abc/a bc/abc
/a bc/abc/abc
/abc/abc/a bc
/ abc/abc/abc
/abc/ abc/abc
/abc/.abc
/.abc/abc
/
//
/abc
/.abc
And my code is below:
grep -E '^\/(+\/?)+$' dirsample (4 Replies)
Discussion started by: franksunnn
4 Replies
if(n) Tcl Built-In Commands if(n)
__________________________________________________________________________________________________________________________________________________
NAME
if - Execute scripts conditionally
SYNOPSIS
if expr1 ?then? body1 elseif expr2 ?then? body2 elseif ... ?else? ?bodyN?
_________________________________________________________________
DESCRIPTION
The if command evaluates expr1 as an expression (in the same way that expr evaluates its argument). The value of the expression must be a
boolean (a numeric value, where 0 is false and anything is true, or a string value such as true or yes for true and false or no for false);
if it is true then body1 is executed by passing it to the Tcl interpreter. Otherwise expr2 is evaluated as an expression and if it is true
then body2 is executed, and so on. If none of the expressions evaluates to true then bodyN is executed. The then and else arguments are
optional "noise words" to make the command easier to read. There may be any number of elseif clauses, including zero. BodyN may also be
omitted as long as else is omitted too. The return value from the command is the result of the body script that was executed, or an empty
string if none of the expressions was non-zero and there was no bodyN.
EXAMPLES
A simple conditional:
if {$vbl == 1} { puts "vbl is one" }
With an else-clause:
if {$vbl == 1} {
puts "vbl is one"
} else {
puts "vbl is not one"
}
With an elseif-clause too:
if {$vbl == 1} {
puts "vbl is one"
} elseif {$vbl == 2} {
puts "vbl is two"
} else {
puts "vbl is not one or two"
}
Remember, expressions can be multi-line, but in that case it can be a good idea to use the optional then keyword for clarity:
if {
$vbl == 1 || $vbl == 2 || $vbl == 3
} then {
puts "vbl is one, two or three"
}
SEE ALSO
expr(n), for(n), foreach(n)
KEYWORDS
boolean, conditional, else, false, if, true
Tcl if(n)