다른 파일에 나열된 ID 문자열의 조합으로 텍스트 파일 행을 선택하십시오.

다른 파일에 나열된 ID 문자열의 조합으로 텍스트 파일 행을 선택하십시오.

list_of_od_strings.txt file_with_strings_in_lines.xml에서 제공한 문자열을 포함하는 줄만 가져오는 방법은 무엇입니까?

이 질문은 다음과 유사합니다.다른 파일에 ID가 나열된 텍스트 파일에서 줄 선택지금까지 file_with_strings_in_lines.xml에 있는 문자열을 포함하는 list_of_od_strings.txt 파일을 얻었습니다. 이러한 문자열 중 하나를 포함하는 줄이 인쇄되어야 합니다. 위 질문의 첫 번째 파일에 있는 ID에는 한 단어만 포함되어 있습니다.

내 상황은 다릅니다. ids.csv에서 ID는 "one two 333 four"와 같이 2~4개의 연속 문자열 조합으로 제공됩니다.

grep -wFf list_of_id_strings.txt file_with_strings_in_lines.xml

list_of_id_strings.txt에서 강조 표시된 문자열을 볼 수 있는 출력을 제공합니다. 그러나 list_of_id_strings.txt 문자열이 없는 file_with_strings_in_lines.xml의 줄도 표시됩니다. 즉, 출력에 전체 list_of_id_strings.txt가 표시됩니다.

list_of_od_strings.txt file_with_strings_in_lines.xml에서 제공한 문자열을 포함하는 줄만 가져오는 방법은 무엇입니까?

답변1

file_with_strings_in_lines.xml에 list_of_id_strings.txt 문자열이 없는 행도 표시됩니다.

의견을 바탕으로 우리는 이 질문이 다음과 같다고 추론합니다.일치하는 라인뿐만 아니라 모든 라인을 출력하도록 grep을 설득하십시오.즉, list_of_id_strings.txt최소한 빈 문자열을 포함해야 합니다.

-F
    Match using fixed strings.
    [...] A null string shall match every line.

해결책은 id 파일에서 빈 문자열을 모두 제거하는 것입니다.

관련 정보