grep -v -x -f f2 f1
私はこれを試しましたが、私が持っているので動作しません
f2:
test 141.1.11.1
test2 8.18.8.8
4.4.4.4
f1:
test 1.1.1.1
test2 8.8.8.8
test3 4.4.4.4
test3 4.4.4.4
含めるので、行を削除するのはアイデアですが、うまくいきませ4.4.4.4
ん。私のコマンドには何の問題がありますか?
正確に入力すると削除されますが、4秒しか含まれていない場合は削除されません。
答え1
オプションを削除するだけです-x
。そのオプションの目的は、部分ではなく行全体で与えられた正規表現を一致させることです。
grep -v -f file2 file1
上記のように、正規表現の一致ではなく文字列の一致が必要な場合は、-F
コマンドにオプションを追加してください。
grep -v -F -f file2 file1
答え2
#!/usr/bin/python
import re
mf=[]
k=open ('f2','r')
x=open('f1','r')
for b in x:
mf.append(b.strip())
co_li=len(mf)
for f in k:
for d in range(0,co_li,1):
if f.strip() in mf[d]:
print "\n".join( mf[0:d]+mf[d+2:])
テストを経てうまく機能しました
test 1.1.1.1
test2 8.8.8.8
~