Not to remove Files based on property value


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Not to remove Files based on property value
# 1  
Old 08-29-2017
Not to remove Files based on property value

Hi All,

Need your help to fix one script.

Main agenda is:
1. Read a property file.
2. Delete all files in directory except the name from Property file.

I am trying to read property file for value then deleting all files from directory except THAT value/name.

I have tried so far as below:
Property File i.e., earBuild.properties
Code:
#EAR Names
earName=XYZ.ear

OR
Property file can be with Multiple Ear names as:
Code:
#EAR Names
earName=XYZ.ear
earName=ABC.ear


I have written below shell script but loop is deleting all files in directory.

Code:
#!/bin/bash

echo "Reading property file at `pwd`"
ls -lrt

find /tmp/s/earProps/ -name earBuild.properties

FILE_NAME="earBuild.properties"
echo "EAR property file is: $FILE_NAME"

EARPATH="/tmp/s/props/ears/"

# Key in Property File
KEY="earName"

# Variable to hold the Property Value
prop_value=""

getProperty()
{
        prop_key=$1
        prop_value=`cat ${FILE_NAME} | grep ${prop_key} | cut -d'=' -f2`
}

getProperty ${KEY}
echo "KEY = ${KEY} ; Value = " ${prop_value}

for i in ${prop_value}; do
	find $EARPATH -type f ! -name $i -exec rm -rf {} \;
	echo "Value of I in loop is $i"
done


I am no bound to use find or rm or even for loop. Looking for the solution.
Appreciate help in advance.

Thanks
# 2  
Old 08-29-2017
Did you consider the "extended globbing" feature in recent bashes? man bash:
Quote:
If the extglob shell option is enabled using the shopt builtin, several extended pattern matching operators are recognized.
You could build the composite pattern from your property file, and then remove all files except the given ones.
This User Gave Thanks to RudiC For This Post:
# 3  
Old 08-29-2017
Quote:
Originally Posted by RudiC
Did you consider the "extended globbing" feature in recent bashes? man bash:
You could build the composite pattern from your property file, and then remove all files except the given ones.
Hi RudiC,

Could you please help a bit with code level understanding.
I am not that much into scritping!!
# 4  
Old 08-29-2017
Try
Code:
shopt -s extglob
echo rm !($(grep earname "$FILE_NAME" | cut -d= -f2 | tr '\n' '|'))

This should echo the rm command with all files EXCEPT the ones in the property file having earname keys.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Find highest value of a particular property in multiple files

I have multiple files with pattern of "*.tps (example:tps-20170307170421560-1053.tps)" in my log directory(files are in different sub directories). entries in files are given below. I want to extract highest value of endtime accross all files. "endTime :1488902691462" ... (7 Replies)
Discussion started by: Agoyals1986
7 Replies

2. Shell Programming and Scripting

Two files, remove lines from second based on lines in first

I have two files, a keepout.txt and a database.csv. They're unsorted, but could be sorted. keepout: user1 buser3 anuser19 notheruser27 database: user1,2343,"information about",field,blah,34 user2,4231,"mo info",etc,stuff,43 notheruser27,4344,"hiya",thing,more thing,423... (4 Replies)
Discussion started by: esoffron
4 Replies

3. Shell Programming and Scripting

remove column based on the same value

Hello, I have some problem to remove the columns which have the duplicate value of -9 which is in every row except -9 in some row. Input file showed in below : Col1 Col2 Col3 Col4 Col5 Col6 A 1 A -9 0 -9 B 2 T -9 -9 -9 C 3 D -9 1 -9 D 4 R -9 2 -9 Output should... (6 Replies)
Discussion started by: awil
6 Replies

4. Shell Programming and Scripting

Report a missing property and property value mis match script.

Hi All, I have 2 properties files - one is a master templete and other one is a node specific properties file, I need to comapre these 2 properties files and make sure the node Specific properties file contains all the properties in the master temple properties file else report the missing... (5 Replies)
Discussion started by: jayka
5 Replies

5. UNIX for Dummies Questions & Answers

Remove files based on date

Hello team, I have a number of files in a folder which are dated yesterday and today.Can i remove all the files which i created today based on date?? is there any syntax for this ?? (1 Reply)
Discussion started by: kanakaraju
1 Replies

6. Shell Programming and Scripting

Remove duplicate files based on text string?

Hi I have been struggling with a script for removing duplicate messages from a shared mailbox. I would like to search for duplicate messages based on the “Message-ID” string within the messages files. I have managed to find the duplicate “Message-ID” strings and (if I would like) delete... (1 Reply)
Discussion started by: spangberg
1 Replies

7. Shell Programming and Scripting

URGENT: Script/Function needed to read text property files in block wise

Hi, Iam in a need for a script/function in KSH where I want to read a text file (property file) in block by block. Here is the example: Heading Name Descripton Block Block1 Value1 Description Property Name Value Property Name Value Property Name Value Property Name Value Property Name... (7 Replies)
Discussion started by: ysreenivas
7 Replies

8. Shell Programming and Scripting

Remove/Find files based on position pattern

Hi All, Please help me to find or remove files based on position based search pattern. file1.txt: aaabbbccc dddeeefff iiijjjkkk file2.txt: lllmmmnnn ooopppqqq rrrsssttt file3.txt: uuuvvvwww xxxeeeyyy zzzcccooo From the above files, I like to delete the files that have "eee"... (1 Reply)
Discussion started by: kumarn
1 Replies

9. UNIX for Dummies Questions & Answers

Design Options for Property Files

Dear all, Hello and Good Morning. I have a properties file in a specific directory in UNIX that can be accessed by certain users. This properties file is being used by a number of backend programs. The properties file contain the username and the password of the database as well. How do I design... (1 Reply)
Discussion started by: jackal28
1 Replies

10. UNIX for Dummies Questions & Answers

Remove files based on date

I am trying to write a shell script that will remove files in a directory based on the date. For instance, remove all files older than yesterday. Any ideas? (4 Replies)
Discussion started by: hshapiro
4 Replies
Login or Register to Ask a Question