문제

파일 F1, F2에 두 개의 숫자 목록이 있다고 가정합니다. 첫 번째 목록의 숫자가 두 번째에 있고 그 반대의 숫자가 있는지 확인하고 싶습니다. 현재 GREP -F F2 -V F1을 사용한 다음 쉘 스크립트를 사용하여 반복하고 있습니다. 이것은 꽤 느립니다 (2 차 시간이 아파요). 더 좋은 방법이 있습니까?

도움이 되었습니까?

해결책

나는 이런 종류의 'Comm'을 좋아합니다. (파일을 정렬해야합니다.)

$ cat f1
1
2
3
$ cat f2
1
4
5
$ comm f1 f2
        1
2
3
    4
    5
$ comm -12 f1 f2
1
$ comm -23 f1 f2
2
3
$ comm -13 f1 f2
4
5
$ 

다른 팁

각 번호를 단일 줄에 넣을 수 없었습니다. diff(1) 그들? 제대로 작동하려면 목록을 미리 정렬해야 할 수도 있습니다.

특별한 경우 한 파일은 다른 파일의 하위 집합입니다, 다음과 같은:

cat f1 f2 | sort | uniq -u

라인을 나열합니다 더 큰 파일. 그리고 물론 배관 wc -l 카운트를 보여줄 것입니다.

그러나 그것은 당신이 묘사 한 것이 아닙니다.

이 1 라이너는 내 특정 요구를 자주 제공하지만보다 일반적인 해결책을보고 싶습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top