将搜索值捕获到unix shell脚本中的变量中

时间:2019-02-20 11:28:18

标签: shell unix search grep

我正在尝试将文件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

我尝试了很多事情,但是不确定我要去哪里。 谢谢您的帮助

0 个答案:

没有答案