Test

為什麼在下面的程式碼中測試 fgrep 的返回值總是假的?

  • March 27, 2015

我有以下腳本來查找 fileA 與 fileB 相比缺少的項目並寫入 fileC

script.sh fileA fileB fileC

script.sh:

rm $3
while IFS="" read -r inputline; do

fgrep -q \""$inputline"\" $1  
if [ 1 -eq $? ]; then
   echo \""$inputline"\" >>$3
fi
done <$2

我看到 fileB 中的所有內容都轉儲到了 fileC,我缺少一些基本的東西。(aix 6,重擊)

ps:文件有尾隨空格,比較重要

嘗試

#!/usr/bin/bash
rm "$3"
while IFS="" read -r inputline
do
   grep -Fq "$inputline" "$1" && echo "$inputline" >> "$3"
done < "$2"

引用自:https://unix.stackexchange.com/questions/192991