2016-07-27 5 views
0

두 개의 디렉토리가 있습니다. dir1과 dir2. DIR1 파일에서 두 개의 디렉토리에서 다른 내용을 가진 파일 이름을 찾는 방법

은 다음과 같습니다 dir2는 파일에서

abf.txt abc.txt, abd.txt, abe.txt 같습니다 abi.txt, abd.txt, abe.txt, abg.txt, 아브 .txt

abd.txt와 abe.txt는 두 디렉토리에 모두 존재하며 다른 내용을 가지고 있습니다. 이 두 파일 이름 만 반환하는 스크립트를 작성하는 방법은 무엇입니까? dir1 또는 dir2에없는 파일을 원하지 않습니다. 이름이 같고 내용이 다른 파일 이름 만 있으면됩니다.

미리 감사드립니다. 그렇게 할

+0

명령 :-) 간단한 해결책을 제시 : 통신 -23 <(LS의 DIR1 | 종류) <(LS의 dir2는 | 종류) 중 하나 디렉토리에 존재하지 않는 파일을 표시합니다. –

+1

SO 가이드 라인에 따르면 지금까지 시도한 내용과 간략한 설명 (또는 오류가있는 경우)을 보여 주어야합니다. 먼저 최선을 다하십시오. – SaintHax

+0

이것은 무엇입니까? [리눅스에서 2 개의 디렉토리 간의 차이점] (http://stackoverflow.com/q/16787916/1983854). – fedorqui

답변

0

한 간접적 인 방법은 diff -r dir1/file dir2/file 같은 파일 이름과 같은 이름을 가진 파일의 차이점을 보여줍니다은 diff 명령

diff -r dir1 dir2 | grep "diff -r"

diff -r dir1 dir2을 사용하는 것입니다. 나머지 파일은 접두어 Only과 함께 표시됩니다.

희망의 사람이 같은

+0

Thanks @Pintu .. 귀하의 명령은 다음과 같이 표시됩니다 : diff -r dir1/abd.txt dir2/abd.txt 및 diff -r dir1/abe.txt dir2/abe.txt는 괜찮습니다. 하지만 파일 이름 만 가져 오는 방법이 있습니까? –

+0

절단 명령으로 결과를 파이프 할 수 있습니다. 'diff -r dir1 dir2 | grep "diff -r"| cut -d ""-f3 | xargs basename'라고합니다. 도움이 될 것입니다. – Pintu

+0

@Pintu에서 작동했습니다. 고마워요 .. –

관련 문제