2017-12-08 20 views
0

나는 서로에 대해 2 개 .CSV 파일을 비교하기 위해 노력하고있어 수출 -이 (list1.csv)와 같은 최초의 외모 :목록 2에서 값 목록 1의 문자열을 비교, 새로운 위치

london, 
clapham, 
brighton, 
oxford, 
elephant and castle, 

이것은 총 목록 길이가 20,000 개가 넘는 위치 목록입니다 (위치)

내가 이것을 비교하는 시트는 다음과 같습니다 (임의의 단어가 많이 들어 있습니다) (list2.csv) :

iron service, 
ironing london, 
laundry chelmsford, 
dry cleaners elephant and castle, 
laundry in oxford, 

내가 목표로하고 출력 할 것이다 : 나는 이러한 목표를 달성하기 위해 GREP을 사용하기 위해 노력하고 있어요,하지만 난 얻을 데이터가 관련이없는 단어 (내 두 번째 목록에 해당)을 가지고 있습니다

ironing london, 
laundry chelmsford, 
dry cleaners elephant and castle, 
laundry in oxford, 

. 나는 list2.csv에있는 '문자열'을 효과적으로 비교하려고하는데 - 공백을 포함 할 수 있습니다 - list2.csv에있는 데이터가 있습니다. 문자열 목록 2 줄의 아무 곳이나 표시되는 경우, 나는 내가 사용하고 새로운 위치 "목록 3"

그렙에 수출하는 라인을 원하는 : 내가 출력에서 ​​볼 수있는 것과

grep -F list1.csv list2.csv > list3.csv 

'strings'는 list1.csv에서 처리되지 않고 단일 단어로 처리되므로 문자열에 2 단어가 포함되어 있으면 해당 단어 중 하나를 포함하는 행을 추출합니다. 간단한

+0

왜 라인'세탁 chelmsford'이 결과에 있어야? 오타? 귀하의 질문을 정교화하시오 – RomanPerekhrest

+0

죄송합니다 - 'chelmsford'는 list1.csv에도 나타납니다 - 영국 내 20,000 개 이상의 장소 목록이며 일부 지역은 2 또는 3 단어로되어 있습니다. "crouch end"또는 "avon on thames"- 셀 (또는 다른 대안)에서 전체 문자열을 검색하는 grep을 찾는 방법을 찾으려고합니다. –

+0

* 업데이트 된 질문 - grep -F list1.csv list2.csv> list3.csv –

답변

0

grep 방법 :

grep -Ff list1.csv list2.csv 
+0

감사합니다. 저는 이것을 시도했지만 결과와 관련이없는 단어를 얻고 있습니다. 예를 들어 'wash and fold'가 나타나고 있습니다. 그러나 이것은 List1에만 없습니다. list2에서만 가능합니다. 왜 이런 일이 일어날 수 있는지 설명 할 수 있습니까? –

+0

이것은 아마도 'and'가있는 list1 내의 단어와 관련이있을 수 있습니까? –