Help with case (Shell: sh)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with case (Shell: sh)
# 1  
Old 03-28-2011
Help with case (Shell: sh)

Help with case

Hello I need some help with case since most of the examples I found are related to a choice menus

I have 2 files (actually a lot of files with the specified prefix) in my dir e.g file1 & file2

I need to display:
case1:if file1 & file2 exist :file1_no=$(ll file1 |wc -l); file2_no=$(ll file2 |wc -l);((total=file1_no+file2_no));echo $total;;
case2:if only file1 exist:echo $(ll file1 |wc -l);;
case3:if only file2 exist:echo $(ll file2 |wc -l);;
case4:if both files missing: echo No files received

I need this to avoid the file not found in the report I need to create.

Thank you in advance.

Last edited by drbiloukos; 03-28-2011 at 06:42 AM..
# 2  
Old 03-28-2011
Instead of case use IF-ELIF-FI.
Code:
[[ -f file1 && -f file2 ]] && echo "both files available"
[[ -f file1 && ! -f file2 ]] && echo "file1 available"
[[ ! -f file1 && -f file2 ]] && echo "file2 available"
[[ ! -f file1 && ! -f file2 ]] && echo "files missing"

# 3  
Old 03-28-2011
Since I need to count and report the number of files I want to use case so I can have more than an echo commands available, in order to count and do a total.

I need somthing like this:

Code:
case
[[ -f $fname.$DATE_YYMMDD*.Z && -f $*_prev.$DATE_YYMMDD*.Z ]] fname_no=$(ll $fname.$DATE_YYMMDD*.Z | wc -l);fname_prev_no=$(ll $*_prev.$DATE_YYMMDD*.Z | wc -l
);((total=fname_no+fname_prev_no));echo $fname: $fname_no + $*_prev: $fname_prev_no = $total;;
[[ -f $fname.$DATE_YYMMDD*.Z && ! -f $*_prev.$DATE_YYMMDD*.Z ]] echo $(ll $fname.$DATE_YYMMDD*.Z | wc -l);;
[[ ! -f $fname.$DATE_YYMMDD*.Z && -f $*_prev.$DATE_YYMMDD*.Z ]] echo $(ll $*_prev.$DATE_YYMMDD*.Z | wc -l);;
[[ ! -f $fname.$DATE_YYMMDD*.Z && ! -f $*_prev.$DATE_YYMMDD*.Z ]] echo No files received;;
esac

Will this work ?

Last edited by drbiloukos; 03-28-2011 at 07:59 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Use case for logout of shell

Hello Experts, I have a use case - Currently, in my .profile I have added "bash" at the end so while logging in, it will be bashed as well. Which is working fine and no issues. But while logging out, I have hit exit two times like 1st exit will come out of bash shell and 2nd exit will... (5 Replies)
Discussion started by: radha254
5 Replies

2. Shell Programming and Scripting

Shell scripting with case statement

Foe example we have three environments int,qa and prod.Each environment has some number of servers. int=Server1,Server2,Server3 qa=Server4,Server5,Server6 prod=Server7,Server8,Server9 echo "Enter the Environment i.e int,qa,prod" read env case $env in int) ## Need command where all the... (9 Replies)
Discussion started by: nareshreddy443
9 Replies

3. Shell Programming and Scripting

Using shell to generate case statement

Hi Gurus, I have a very weird requirement and have no clue to resolve the issue. please help me get out this difficulty below two tables, table1 contains the column name. D means this column used for the rule. for example: rule 0 is all columns have value, rule1 is col3 and col7 have no value.... (2 Replies)
Discussion started by: Torhong
2 Replies

4. Shell Programming and Scripting

Help with shell script 'CASE $'

Hi, I have a script that is called by /etc/init.d/S99oracle and the contents of this script are below. $ cat ../init.d/oracle ### BEGIN INIT INFO # Provides: oracle # Required-Start: $ALL # Required-Stop: # Default-Start: 3 5 # chkconfig: 35 99 10 # Default-Stop: # Description:... (7 Replies)
Discussion started by: welldone
7 Replies

5. Shell Programming and Scripting

[Solved] Change Upper case to Lower case in C shell

Is there a command that can switch a character variable from UPPER case to lower case? like foreach AC ( ABC BCD PLL QIO) set ac `COMMAND($AC)` ... end Thanks a lot! (3 Replies)
Discussion started by: rockytodd
3 Replies

6. Shell Programming and Scripting

Shell case statement

echo -e "Select: \c" read IN pattern="1-20" case $IN in ) echo "Selected: $IN" ;; *) echo "Invalid selection: $IN" ;; esac # sh test Select: 10 Invalid selection: 10 # sh test Select: 2 (6 Replies)
Discussion started by: Ikon
6 Replies

7. Shell Programming and Scripting

Combination of case and If else in shell script

Would it be right forme to combine case statement and if else in one shell script? Would it work? (2 Replies)
Discussion started by: Pauline mugisha
2 Replies

8. UNIX for Dummies Questions & Answers

if test case in korn shell

hi, I am new to this forum and this is my first post. I am not too familiar with scripting so I will be spending a lot of time here. I am trying to understand a ksh script. NSCA=/bin/send_nsca if ] What does the -e check for? (3 Replies)
Discussion started by: fluke_perf
3 Replies

9. Shell Programming and Scripting

Ignore Case in Shell

Hi New to this Unix dot com. I would like to know how i can ignore the case in filename which is getting as user directoty to shell script. For Ex: Source (/aa/bb/patch/) Directory may contains more than 1 files as like 1. aa.csv or Aa.csv or AA.csv or aa.CSV 2. bb.csv 3. ... (3 Replies)
Discussion started by: AAH
3 Replies

10. UNIX for Dummies Questions & Answers

lower case to upper case string conversion in shell script

How can convert a Lower case variable value to an upper case in the kron shell script. (3 Replies)
Discussion started by: dchalavadi
3 Replies
Login or Register to Ask a Question