
나는 다음과 같이 포럼에서 제안된 다양한 형식을 사용해 왔습니다.
grep -f file1.txt file2.txt > ouput.txt
file1.txt
ID 목록이 포함된 열입니다. 예:
15002345234
15001234214
file2.txt
탭으로 구분된 열을 포함하며, 하나는 ID를 포함하고 다른 하나는 기타 정보를 포함합니다.
1500349850 1 3 father
나는 다른 게시물에서 제안한 명령 awk
뿐만 아니라 쉘 루프도 시도했습니다 . sed
하지만 본질적으로 하나의 ID에 대해서만 결과를 얻습니다.
150982309750 1 2 2 4
또한 항상 동일하며 출력에는 다음과 같은 많은 결과가 있어야 합니다.
150982309750 1 2 2 4
150563524856 1 3 2 2
150864364612 2 1 2 2
내가 뭘 잘못하고 있는지 어떤 아이디어가 있습니까?
답변1
저 할 수 있어요
-w
전체 단어만 일치하는 옵션 추가-F
고정 문자열(정규식이 아닌) 일치를 위한 옵션이 추가되었습니다 .\r\n
file1이 줄 끝을 사용하지 않는지 확인하십시오 . 후행으로\r
인해 일치가 실패하게 됩니다. 이것을 확인하세요head file1.txt | od -c
grep -wFf <(sed 's/\r$//' file1.txt) file2.txt