2010-12-16 2 views
3

파일 A에있는 모든 줄이 파일 B에 있는지 확인하는 Linux 명령은 무엇입니까? (이것은 diff와 비슷하지만 아주 비슷합니다). 또한 파일 A에는 파일 B와 마찬가지로 유니크 (uniq) 행이 있습니다.Linux 명령으로 파일 바꾸기

답변

3

통신 명령은 두 개의 정렬 된 파일, 라인별로 라인을 비교하고, GNU의로 coreutils의 일부입니다. A는

a 
a 
b 

을 가지고 있으며, b는

a 
b 

이있는 경우

0
if cat A A B | sort | uniq -c | egrep -e '^[[:space:]]*2[[:space:]]' > /dev/null; then 
    echo "A has lines that are not in B." 
fi 

당신이 출력을 리디렉션하지 않는 경우, 당신은 B에없는 그 A가 (이 경우 각 라인을 제외 앞에 2이있을 것이다)에있는 모든 라인의 목록을 얻을 것이다. 이것은 A의 행이 고유하고 B의 행이 고유 한 것에 의존합니다.

중복 횟수를 계산할 필요가없는 경우 sortuniq을 사용하여 각 파일을 고유 한 라인 목록으로 변환하는 것이 비교적 간단합니다.

1

그래서, 당신은 무엇을 출력 (예 또는 아니오) 할 수없는 무엇을할까요?

+0

에서 diff 명령의 완전한 사용에 유용한 보라입니다. – syker

1

diff 명령을 사용하십시오. 여기

3 분 I 출력이 그렇다 할

Click Here