thank you
I have tried comm it is fast. the only thing is that I am looking to one
side difference.
I mean if file2 contains word not in file1 that will not be needed to
output. only if words in file1 but not in file2.
so I solved it by this bash script
for n in `cat file1`; do
A='notfound'
A=`awk -v word=$n -v f="A" -F ' ' '{if($1==word){print "found"}}'
file2`
if [ $A = 'notfound' ] ;then
echo $n >> f2
fi
done
It is faster than grep but still any faster way is appriciated.
Thank you so much for introducing comm, I may use comm in other problems
On Friday, September 15, 2017 at 9:34:14 AM UTC-4, Jim Keenan wrote:
>
> On 09/15/2017 08:13 AM, [email protected] <javascript:> wrote:
> > Hi,
> > I have two files(file 1 file2), each contains one word in ecah line.
> > I am trying to get the words in file2 that are not in file1. saving
> > result in file3
> > I need equivelant awk command to the following grep
> > grep -F -x -v -f file2 file1 > file3
> > grep takes time and is beeing killed because file2 is about 40000 long
> > ,and file1 is about 25000
> >
> > if I would do c program, It would have two nested for that will take
> > time too.
> >
> > please I will appriciate any suggestions.
> >
>
> From the description you have provided I would first try the Unix
> command-line program 'comm'.
>
> Try 'man comm' and look in particular at the '-3' option.
>
> Thank you very much.
> Jim Keenan
>
>
--
You received this message because you are subscribed to the Google Groups "ack
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/ack-users.
For more options, visit https://groups.google.com/d/optout.