!["diff"에 있는 이러한 코드는 무엇을 의미하며 이를 제거하는 방법은 무엇입니까?](https://linux55.com/image/10206/%22diff%22%EC%97%90%20%EC%9E%88%EB%8A%94%20%EC%9D%B4%EB%9F%AC%ED%95%9C%20%EC%BD%94%EB%93%9C%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9D%84%20%EC%9D%98%EB%AF%B8%ED%95%98%EB%A9%B0%20%EC%9D%B4%EB%A5%BC%20%EC%A0%9C%EA%B1%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
diff
현재 파일과 대상 간의 차이점을 찾는 데 사용합니다 .
내 명령은
diff -w --from-file /tmp/new_list.txt /tmp/protected_client.txt
출력은 다음과 같습니다
8c8,9
> VM-E
나는 이것을 다음을 사용하여 필터링했습니다.
diff -w --from-file /tmp/new_list.txt /tmp/protected_client.txt | tail -n +2 | sed 's/> //g'
엄청난. 이제 여러 차이점이 있으면 다음과 같이 표시됩니다.
2d1
< esxi02
3a3
> psc-dr
두 가지 질문. 이 가치는 무엇입니까? <
값이 존재 from-file
하지만 존재하지 않으며 to-file
그 반대의 경우도 마찬가지 라는 것을 알고 있습니다 >
.
2d1
두 번째 질문: 이 코드 및 3a3
/또는 무슨 일이 일어나든 어떻게 제거합니까 ?
답변1
이 코드는 행 번호와 발견된 차이 유형을 제공합니다.
a
추가됨을 나타냅니다.c
변경됨d
삭제됨
예: 8c8,9
첫 번째 파일( )의 8행이 --from-file
다음으로 변경되었음을 의미합니다.무엇이무엇두 번째 파일의 8-9행에 저장됩니다. 이는 2d1
첫 번째 파일의 라인 2가 삭제되었고 두 번째 파일의 라인 1 뒤에 올 것으로 예상되는 등의 의미입니다.
나는 당신이 이 코드를 정말로 제거하고 싶어하지 않을 것이라고 생각합니다. 이것은 매우 유용하지만, 코드를 제거하거나 다른 것으로 변경해야 한다면 다음 6가지 출력 형식을 사용하십시오(여기서는 GNU diff를 사용한다고 가정합니다). ):
--old-line-format
--new-line-format
--old-group-format
--new-group-format
--changed-group-format
--unchanged-group-format
여기서는 (다소 복잡한) 구문에 대한 모든 세부 사항을 다루지는 않겠습니다. 아래에서 해당 info diff
설명을 찾을 수 있습니다.if-then-else장. 아래 코드는 귀하가 요구하는 내용을 정확하게 제공합니다. 즉, 코드가 전혀 없고 순수한 <
합계 만 제공됩니다 >
.
diff --old-line-format=$'< %l\n' --new-line-format=$'> %l\n' \
--old-group-format=$'%<' --new-group-format=$'%>' \
--changed-group-format=$'%>' --unchanged-group-format='' file1 file2
필요한 경우 별칭을 만들 수 있습니다.