检查文件中的字符串,提取变量并写入另一个文件

时间:2016-11-09 13:16:20

标签: bash shell unix

我将从" createxxxx.out"

获取两个或多个随机文件名的文件

这两个文件中的任何一个都可以包含一个名为失败的字符串。

我必须搜索那个"失败" string和Fetch两个变量(Variable1,Variable2)存在于同一个文件中(包含String' 失败'的文件)并在另一个文件中打印这两个变量(这里我是尝试在 Error.log 文件中打印它。

我已经尝试了以下脚本,它不起作用:

if grep -q "Fail" create_*;

then

   grep 'Variable1\|Variable2' create_*  > Error.log
   echo -e "Creation Failed"
fi

1 个答案:

答案 0 :(得分:0)

#!/bin/sh
#use 'egrep' for multiple keyword search
#this script will search for fail/Fail/fAiL words
#from all files starts with 'create'
#and save in fileanme_error.log if fail/variable(s) found
#
# 'egrep -i' - option also can be used for variable search
# with ignoring case sensitivity

for file in $(ls -1 create_*)
do

 grep -qi 'fail' $file

 if [ $? -eq 0 ];then

   egrep 'Variable1|Variable2' $file  > $file_Error.log
   echo -e "Creation Failed for file: $file"

 fi

done

此行将保存唯一的关键字:

egrep 'Variable1|Variable2' $file|sort -u  > $file_Error.log