두 파일의 차이점을 어떻게 출력하나요?

두 파일의 차이점을 어떻게 출력하나요?

내 파일에는 대략 다음이 포함되어 있습니다.

username:username:username:username:username 

위 줄의 길이는 약 600자입니다.

awk명령을 사용하여 명령줄에서 전송된 API/HTTP 요청의 매개변수로 사용합니다.

나는 내 스크립트를 사용하여 나를 "팔로우"하는 사용자 계정 목록을 얻고 약 24시간마다 내 하드 드라이브에 있는 원래 목록과 새로 출력된 사용자 이름 목록을 비교합니다.더 이상 나에게 관심을 두지 않는 에코. 내 논리를 루프로 캡슐화하려면 bash를 사용해야 합니다. 각 사용자 이름을 테스트하십시오.

내 현재 스크립트:

user=$(awk -F: '{ print $1 }' FILE)  # Grab $User to use as an argument.  
following=$(exec CURRENT_FOLLOWERS) # Outputs the new file

echo "X amount of users are following you on 78B066B87AF16A412556458AC85EFEF66155"  

          SAVE CURRENT FOLLOWERS TO NEW A FILE.  


if [[ DIFFERENCE IS DETECTED ]] ; then    

          echo -ne "$User NO LONGER FOLLOWING YOU\r"

   else echo -ne "This user is following you still.\r"
fi

내 질문은;
두 파일의 차이점을 어떻게 출력하나요?

답변1

정렬되지 않은 사용자 목록이 포함된 두 개의 파일이 제공됩니다.

In file1:
    userD
    user3
    userA
    user1
    userB

그리고

In file2:
    user3
    userB
    userX
    user1

file1그런 다음 에 있지만 에 속하지 않은 사용자의 간단한 목록을 얻으려면 file2다음을 수행하십시오.

$ comm -23 <(sort file1) <(sort file2)
userA
userD

마찬가지로 사용자가 입력할 수는 있지만 file2입력할 수는 없습니다.file1

$ comm -13 <(sort file1) <(sort file2)
userX

목록 파일이 이미 정렬된 경우 이를 각각 comm -23 file1 file2및 로 단순화할 수 있습니다 comm -13 file1 file2.

답변2

찾고 있는 유틸리티는 diff설명서를 참조하세요.

답변3

파일 내용의 차이점을 확인하는 가장 좋은 명령은 다음과 같습니다.

vim -d file1 file2

답변4

fcdiff <file_new> <file_old>Unix와 Linux에서 command 및 ie command와 같은 창을 사용해 볼 수 있습니다 .

그들 +++또는 ---변경된 이전 줄과 없음 +'s-'s변경되지 않은 줄

서명된 줄은 -새 파일에서 제거되지만 이전 버전에는 존재합니다.

서명된 줄은 +새 파일에서 추가되었지만 이전 버전의 파일에는 없었습니다.

리눅스 표기법

리눅스 ><

>이전 파일의 줄을 나타냅니다. <새 파일의 이전 파일에서 변경된 줄을 나타냅니다.

관련 정보