在Bash中查找文件中的项目

时间:2016-12-15 08:56:47

标签: bash

cat "test1.txt" | while read delete
do
  grep -i "$delete" test2.txt > /home/user/nodes_deleted.txt
done

它无法正常工作。谁能帮忙。它只是将test1.txt中的所有条目打印到nodes_deleted.txt。

1 个答案:

答案 0 :(得分:0)

您的预期输入和输出非常模糊,但由于您要求提供自定义消息"no match found..",因此我正在为此设置一个小型shell脚本file1file2内容如下,

abc
bcd

file2

abc_no

script.sh内容为,

#!/bin/bash

while IFS= read -r line
do
   capture=$(grep -i "$line" file2 2>/dev/null)

   if [ ! -z "$capture" ]
   then
       echo "$capture"
   else
       echo "$line not found"
   fi

done <file1

在命令行上运行它会产生输出

$ bash script.sh
abc_no
bcd not found