To CASE or not to CASE, this is my question!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting To CASE or not to CASE, this is my question!
# 1  
Old 08-18-2006
Question To CASE or not to CASE, this is my question!

Hi

I'm trying to display the permissions, owner and group of a file. So far so good!

Code:
Script 4
#To determine the permissions, owner and group of a file
#Syntax: script4 filename

LINE=`ls -ltr $1`
OWNER=`echo $LINE | awk '{print $3}'`
GROUP=`echo $LINE | awk '{print $4}'`
PERMISSION=`echo $LINE |
awk '{
        for (i=1;i<11;i++)
        printf(substr($1,i,1)" ");
}'`

#Output
echo "                  READ     WRITE   EXECUTE"
echo "OWNER      $OWNER $READ1  $WRITE1  $EXECUTE1"
echo "GROUP      $GROUP  $READ2   $WRITE2  $EXECUTE2"
echo "EVERYBODY           $READ3    $WRITE3  $EXECUTE3"

Output so far (the easy bit!):

Code:
                        READ     WRITE   EXECUTE
OWNER   oliver.m
GROUP    users
EVERYBODY

I've got the permissions in $PERMISSION (for this file) in the format
r w x r - x - r - x

Now, to get the $READ1, $WRITE! etc I was thinking of using a shift and CASE eg:
Code:
while [ $PERMISSION !EOF]
do
read $PERMISSION
case "$PERMISSION" in
r)$READ1=YES;;
w)$WRITE1=YES;;
x)$EXECUTE1=YES;;
*)
esac
shift
done

Would that work? And if so, how would i change the $READ1 to $READ2 etc? Or am i missing a much simple way of doing this?!?! Smilie

Thanks in advance for any help

Oliver
# 2  
Old 08-19-2006
Ok, so i got the CASE working, but it won't accept the variable i put in!

Can someone tell me why it won't work? It just keeps falling to the catchall case, but if i use $2 instead it works fine? By the way, the contents of $PERMISSION are
r w x r - x r - x
as you can probably work out from the code above.

Code:
while [ -n "$PERMISSION"  ];
do
case $PERMISSION in
r) READ1=YES;echo "read=YES";shift 1;;
w) WRITE1=YES;shift 1;;
x) EXECUTE1=YES;shift 1;;
*) echo "error";shift 1;;
esac
done

Thanks in advance

Oliver
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Change first letter of a word from lower case to upper case

Hi all, I am trying to find a way to change first letter in a word from lower case to upper case. It should be done for each first word in text or in paragraph, and also for each word after punctuation like . ; : ! ?I found the following command sed -i 's/\s*./\U&\E/g' $@ filenamebut... (7 Replies)
Discussion started by: georgi58
7 Replies

2. Shell Programming and Scripting

Conversion from Upper Case to Lower Case Condition based

Hello Unix Gurus : It would be really appreciative if can find a solution for this . I have records in a file . I need to Capitalize the records based on condition . For Example i tried the following Command COMMAND --> fgrep "2000YUYU" /export/home/oracle/TST/data.dat | tr '' ''... (12 Replies)
Discussion started by: tsbiju
12 Replies

3. 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

4. Shell Programming and Scripting

sed ignoring case for search but respecting case for subtitute

Hi I want to make string substitution ignoring case for search but respecting case for subtitute. Ex changing all occurences of "original" in a file to "substitute": original becomes substitute Origninal becomes Substitute ORIGINAL becomes SUBSTITUTE I know this a little special but it's not... (1 Reply)
Discussion started by: kmchen
1 Replies

5. Shell Programming and Scripting

data array needs to change upper case to lower case

Hi all, i have a data array as followes. ARRAY=DFSG345GGG ARRAY=234FDFG090 ARRAY=VDFVGBGHH so on.......... i need all english letters to be change to lower case. So i am expecting to see ARRAY=dfsg345ggg ARRAY=234fdfg090 ARRAY=vdfvgbghh so on........ If i have to copy this data in... (8 Replies)
Discussion started by: usustarr
8 Replies

6. Shell Programming and Scripting

convert upper case to lower case in ascript

I have a package to install and the installation script which does it . The files/directories names in the script are all lower case but the actual package has everything in upper case - file names, directories . I don't want to rename directories and files in the package - it has a lot of them . ... (2 Replies)
Discussion started by: vz6zz8
2 Replies

7. Shell Programming and Scripting

how to convert value in a variable from upper case to lower case

Hi, I have a variable $Ctrcd which contains country names in upper case and i want to convert them into lower case. I have tried so many solutions from already existing threads but couldn't get the correct one. Can anybody help me with this..... Thanks a lot.. (2 Replies)
Discussion started by: manmeet
2 Replies

8. Shell Programming and Scripting

Script needed to select and delete lower case and mixed case records

HELLO ALL, URGENTLY NEEDED A SCRIPT TO SELECT AND DELETE LOWER AND MIXED CASE RECORDS FROM A COLUMN IN A TABLE. FOR EXAMPLE : Table name is EMPLOYEE and the column name is CITY and the CITY column records will be: Newyork washington ... (1 Reply)
Discussion started by: abhilash mn
1 Replies

9. 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