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
~