Поймать значение поиска в переменной в сценарии оболочки Unix - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь найти содержимое файла 1 в файле 2, и если содержимое найдено, сохраните его в файле found.csv или сохраните в файле notfound.csv

Ниже приведен мой код,

cd /mnt/data/dobiminer/scripts

usage="Usage:sh scriptname.sh 'ToSearchFile' 'MainSearchFile' 'CR' "
Date=`date +%m%d%y%H%M%S`
File=$(<$2)
echo "File Input $2"
echo $File

if [ $# != 3 ]
then
        echo $usage
        exit 1
else
        echo > "$3-Found-$Date.csv"
        echo > "$3-NotFound-$Date.csv"
        for MasterClip in `cat $1`
        do
                echo $MasterClip
                String=$(echo "$File" | grep -x $MasterClip)
                echo $String
                if [ -z $String ];
                then
                        echo "NotFound"
                        echo $MasterClip >> "$3-NotFound-$Date.csv"
                else
                        echo "Found"
                        echo $MasterClip >> "$3-Found-$Date.csv"
                fi
        done
fi

Я предполагаю, что приведенная ниже строка кода не работает, так как всякий раз, когда я запускаю код, строковое значение только пустое.Это не улавливает значение поиска.

String=$(echo "$File" | grep -x $MasterClip)
echo $String

Я пробовал несколько вещей, но не уверен, где я иду не так.Спасибо за помощь мне

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...