linux +他のファイルに表示されるファイルから単語を削除する[重複]

linux +他のファイルに表示されるファイルから単語を削除する[重複]

2つのファイルがあります。 Linux Redhat バージョン 6

リスト1.txt - ファイルには34732ワードが含まれています。

リスト2.txt - ファイルには272の単語が含まれています。

list1.txtからlist2.txtのすべての単語を削除したいと思います。

これを行う最善の方法は何ですか(1つのフィールドのみを含む2つのファイル)

more list1.txt

dweferf
fr
grgr
gefyh
fergtrg
ggtgg
fergth
gtg
.
.
.

more list2.txt

dweferf
fr
frgrgggb
rggtgtrgrt
fergtrg
rfergrtg
fwed4

.
.
.

ベストアンサー1

また、このようなことができます

#!/bin/bash
FILE1=$1 # path to your list2.txt
FILE2=$2 # path to your list1.txt
touch ./tmpfile
FILE3=./tmpfile
while read p; do
  if [ `grep "\<$p\>" $FILE2 | wc -l` -ne 0 ] 
  then
    echo "$p word found discarding"
  else
    echo -e "$p" >> $FILE3
  fi
done <$FILE1
mv $FILE3 $FILE2

おすすめ記事