Sponsored Content
Top Forums Shell Programming and Scripting Help need with remove command Post 302781469 by Don Cragun on Saturday 16th of March 2013 03:28:39 PM
Old 03-16-2013
Quote:
Originally Posted by pinnacle
Thank you sir!!

---------- Post updated at 12:58 PM ---------- Previous update was at 12:27 PM ----------



I am planning to use the below code for removing files. I want to echo after all files are deleted. The order in which I delete files or all at onces does not matter.

Please let me know if there is a better way to do this.

Also I would like a safe approach in case the parameter values are blank then it should not wipe out the root directory.


Code:
 
    if `rm ${INPUTDIR:?'$INPUTDIR is not correctly set'}/${PATTERNA:?'$PATTERNA is not correctly set'}*`; then
        if `rm ${INPUTDIR:?'$INPUTDIR is not correctly set'}/${PATTERNB:?'$PATTERNB is not correctly set'}*`; then
            if `rm ${TEMPDIR:?'$TEMPDIR is not correctly set'}/${PATTERNB:?'$PATTERNB is not correctly set'}*`; then
                if `rm ${CONTROLDIR:?'$CONTROLDIR is not correctly set'}/${PATTERNB:?'$PATTERNB is not correctly set'}*.cmd`; then
                    echoen "All Files Deleted Successfully!!"
                fi
            fi
        fi
    fi

This is overkill. You only need to use ${x:?'error msg'} once for each different $x (the first time it is referenced). And, you won't be able to list the filenames after they have been removed. And, I've never seen an echoen command.

You could try something like the following to list the files to be removed and then remove them. Don't try this if any of your filenames could contain whitespace characters! If there is a chance that any filename you're trying to remove will contain one or more whitespace characters, you need to use more complicated code.
Code:
    echo 'Preparing to remove the following files:'
    ec=1
    printf "\t%s\n" ${INPUTDIR:?'$INPUTDIR is not correctly set'}/${PATTERNA:?'$PATTERNA is not correctly set'}*
    if $(rm $INPUTDIR/$PATTERNA*); then
        printf "\t%s\n" $INPUTDIR/${PATTERNB:?'$PATTERNB is not correctly set'}*
        if $(rm $INPUTDIR/$PATTERNB*); then
            printf "\t%s\n" ${TEMPDIR:?'$TEMPDIR is not correctly set'}/$PATTERNB*
            if $(rm $TEMPDIR/$PATTERNB*); then
                printf "\t%s\n" ${CONTROLDIR:?'$CONTROLDIR is not correctly set'}/$PATTERNB*.cmd
                if $(rm $CONTROLDIR/$PATTERNB*.cmd); then
                    echo 'All Files Deleted Successfully!!'
                    ec=0
                fi
            fi
        fi
    fi
    if [ $ec -ne 0 ]; then
        echo 'Some Files Were Not Deleted!!'
    fi

Note, this code has not been tested. I strongly suggest changing the rms in this script to echos until you verify that it will do what you're trying to do.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

search and remove command

I want to run the 'locate' command and then remove what the command finds. My guess was, locate blahblah |rm -f but this does not work. Thanks! (3 Replies)
Discussion started by: jasonr
3 Replies

2. UNIX for Dummies Questions & Answers

command to remove last record on file

Hi, First time on the forum. I have converted some files using the Unix to DOS command but need to strip off the last record that is generated from this conversion that contains just a ^Z. Is there any command that would accomplish this without having to do stream editing? (4 Replies)
Discussion started by: mheinen
4 Replies

3. Shell Programming and Scripting

rm command not able to remove file

I have directory IXNPG7 under which i have seen file ads.c , ads.gif , ads.js and lots more with extension .html I tried to remove the Entire Directory with rm -Rf IXNPG7 but it is saying -- Directory Not empty can't remove Secondly i tried removing all the files first using rm *.*... (7 Replies)
Discussion started by: jambesh
7 Replies

4. UNIX for Dummies Questions & Answers

Find and remove command - can you tell me exactly what its doing?

find /app01/tomcat_local -name *jsp* -type f -exec rm -r {} \; I would assume the above is just deleting any *jsp* below the /app01/tomcat_local directory - is this correct as its seems to delete more than I expect.... (1 Reply)
Discussion started by: frustrated1
1 Replies

5. UNIX for Dummies Questions & Answers

inverse remove command

Hi All, Is there an option for 'rm' to "remove everything but these files"? For instance if I have: a.txt <-- I just want to remove this one a_1.txt a_2.txt Is there an option ? for this: rm -? *_*.txt Thanks, ScKaSx (4 Replies)
Discussion started by: ScKaSx
4 Replies

6. UNIX for Dummies Questions & Answers

Command to remove First and Last line from a File

I have a file from which the Header and the Trailer lines need to be removed. They are confirmed to be the first and the last lines in the file. I have tried a few commands, but not successful yet. It needs to be implemented urgently, hence any help is greatly appreciated. Raghu ----------... (1 Reply)
Discussion started by: ragz_82
1 Replies

7. AIX

Unable to remove files from rm command

I need to delete some files which are not getting removed not even from root user -rw-r----- 1 ptml tellin 0 Jul 26 19:23 temp.out1 -rw-r----- 1 ptml tellin 0 Jul 26 19:23 temp.out -rw-r----- 1 ptml tellin 2 Jul 26 19:23 prev -rw-r----- 1... (4 Replies)
Discussion started by: m_usmanayub
4 Replies

8. Shell Programming and Scripting

simple remove command -ksh

KSH A simple remove command is not workin for me. The user has all the access and the return code after remove command is 0. But I am still able to find the file. I have the code as below. tmplog=/tmp/$fl_nm.$$ main () { --set of statments rm -fr $tmplog RC=$? } (2 Replies)
Discussion started by: tostay2003
2 Replies

9. UNIX for Dummies Questions & Answers

cut or remove command

hi, I want to remove first word in all files where first and second word is seperated by comma. example: a file contains Apple,mango. i need only mango shoule be there in the file??? Apple, should be removed!!!!! can anyone help me out??? thanks in advance, Arun Manas:b: (2 Replies)
Discussion started by: arunmanas
2 Replies

10. Shell Programming and Scripting

Can not remove file using rm command

I have two questions: the first is I have a line of code: printf "What is the id of the patient getting GJB2 analysis : "; read id that stores a user input in a variable $id in the python directory c:/Users/cmccabe/Desktop/Python27/$id.txt Using rm I get the error cannot remove ... (21 Replies)
Discussion started by: cmccabe
21 Replies
All times are GMT -4. The time now is 01:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy