Hi All,
I have written the below script that searches for the pattern in a file and delete them if present. please can some one have a look and suggest the changes in the script.
#!bin/sh
# The pattern that user want to add to the files
echo "Enter the pattern of the redirect"
read value
# check if the user has provided a valid pattern
if [-z "$value"] ; then
echo "You have not entered the pattern" ; exit 1
# If a pattern is entered by the User
# Searches the pattern and deletes the pattern if present in file (file 1) <filename 1>
mkdir /path/dred1
elif [grep "$value" <filename 1> > /path/dred1 && $? == 0] ; then
rm -r /path/dred1
echo "Pattern exist in <filename 1>"
sleep 1000
mkdir /path/olist
sed '/"$value"/d' <filename 1> > /path/olist
/path/olist > <filename 1>
rm -r /path/olist
echo "Pattern deleted"
else
rm -r /path/dred1
echo "Pattern does not exist in <filename 1>"
fi
# Pattern to be searched in (file 2) <filename 2> and delete it if present
mkdir /path/dred2
elif [grep "$value" <filename 2> > /path/dred2 && $? == 0] ; then
rm -r /path/dred2
echo "Pattern exist in <filename 2>"
sleep 1000
mkdir /path/olist
sed '/"$value"/d' <filename 2> > /path/olist
/path/olist > <filename 2>
rm -r /path/olist
echo "Pattern deleted"
else
rm -r /path/dred2
echo "Pattern does not exist in <filename 2>"
fi
# Pattern to be searched in (file 3) <filename 3> and delete it if present
mkdir /path/dred3
elif [ grep "$value" <filename 3> > /path/dred3 && $? == 0] ; then
rm -r /path/dred3
echo "Pattern exist in <filename 3>"
sleep 1000
mkdir /path/olist
sed '/"$value"/d' <filename 3> > /path/olist
/path/olist > <filename 3>
rm -r /path/olist
echo "Pattern deleted"
else
rm -r /path/dred3
echo "Pattern does not exist in <filename 3>"
fi
# Pattern to be searched in <filename 4> <filename 4> and delete it if present
mkdir /path/dred4
elif [grep "$value" <filename 4> > /path/dred4 && $? == 0] ; then
rm -r /path/dred4
echo "Pattern exist in <filename 4>"
sleep 1000
mkdir /path/olist
sed '/"$value"/d' <filename 4> > /path/olist
/path/olist > <filename 4>
rm -r /path/olist
echo "Pattern deleted"
else
rm -r /path/dred4
echo "Pattern does not exist in <filename 4>"
fi
# Pattern to be searched in <filename 5> <filename 5> and delete it if present
mkdir /path/dred5
elif [grep "$value" <filename 5> > /path/dred5 && $? == 0] ; then
rm -r /path/dred5
echo "Pattern exist in <filename 5>"
sleep 1000
mkdir /path/olist
sed '/"$value"/d' <filename 5> > /path/olist
/path/olist > <filename 5>
rm -r /path/olist
echo "Pattern deleted"
else
rm -r /path/dred5
echo "Pattern does not exist in <filename 5>"
fi
# Close loop for outer loop
fi
Next time use CODE-tags when posting code, data or logs to enhance readability and to preserve formatting like indention etc., ty.
Thanks and Regards,
Shazin