我有两个文件:在linux redhat版本6中
列表1.txt - 该文件包含 34732 个单词
列表2.txt - 该文件包含 272 个单词
我想从 list1.txt 中删除所有与 list2.txt 中的单词
执行此操作的最佳方法是什么(两个文件仅包含一个字段)
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