= Bash: Use Full Lines From Inputfile as Matching Pattern =
**Summary**: How to use an inputfile from which the full line is used as a search pattern in other files. The other files all start with SHIFT. The inputfile lines contain whilespaces. \\
**Date**: Around 2014 \\
**Refactor**: 6 April 2025: Checked links and formatting. \\
{{tag>bash}}
inputfile=/tmp/inputfile.txt
nlines=`cat $inputfile | wc -l`
teller=1
while [[ $teller -lt $nlines ]]; do
match=`head -$teller $inputfile | tail -1`
grep "$match" SHIFT* > /dev/null
if [ $? -eq 0 ]; then
echo $match still exists!
fi
teller=$(($teller+1))
done
Explained code:
inputfile=/tmp/inputfile.txt
# Count the number of lines in the inputfile. This is the number of times the loop will be gone through.
nlines=`cat $inputfile | wc -l`
teller=1
while [[ $teller -lt $nlines ]]; do
# Use head and tail to set a variable with a complete line from the inputfile
match=`head -$teller $inputfile | tail -1`
grep "$match" SHIFT* > /dev/null
if [ $? -eq 0 ]; then
echo $match still exists!
fi
teller=$(($teller+1))
done