Hello,

in my work, I encountered a possible error in the grep program.
$ grep -V
grep (GNU grep) 3.4

1) The initial list of IP addresses in the file is formed start_list.txt .

2) Must be removed from the list start_list.txt IP addresses using a
larger file exclude_list.txt

grep -vF --file=exclude_list.txt start_list.txt > list_grep.txt

3) But after a series of checks, it turned out that grep "loses" 3 IP addresses
10.0.23.48
10.0.27.40
10.0.38.43

4) A bash script was written that solves the same problem in a different way

#!/bin/bash

:> list_while.txt
while read l
do
    if ! grep -m 1 -q "$l" exclude_list.txt; then
        echo ${l} >> list_while.txt
    fi
done < start_list.txt

5) The diff program has confirmed that there is indeed a difference in
the results

$ diff list_grep.txt list_while.txt
22a23
> 10.0.23.48
24a26
> 10.0.27.40
28a31
> 10.0.38.43

-- 
Best regards,
Vasilisc

Attachment: bug_grep.tar.gz
Description: GNU Zip compressed data

Reply via email to