두 개의 bib 파일이 있고 일부 항목이 중복되거나 중복 항목이 단락에 있거나 동일한 패턴으로 식별 될 수 있습니다. 예 :
a.bib
처럼 보인다
@InProceedings{Arranged,
author = {Transcribed by hofei Arranged and by hofei},
title = {ALL OF ME},
file = {:All of Me.pdf:PDF},
groups = {Solo Tab},
}
@InProceedings{P,
author = {P and = and V V and V V},
title = {ANGELS WE HAVE HEARD ON HIGH Transcribed by hofei},
file = {:Angels We Have Heard on High.pdf:PDF},
groups = {Solo Tab},
}
과 b.bib
@InProceedings{Arranged,
author = {Transcribed by hofei Arranged and by hofei},
title = {ALL OF ME},
file = {:All of Me.pdf:PDF},
groups = {Solo Tab},
}
@InProceedings{,
title = {This Is My Father's World Standard Tuning Traditional Fast Tempo - “Thumbpicking” Style Arrangement by Mark Hanson},
year = {2005},
file = {:MyFathersWorld_p2.pdf:PDF},
groups = {Solo Tab},
}
두 파일에 중복 단락 을 표시하는 것은
$ awk -v RS="" '{gsub(/\n/," "); print}' a.bib b.bib | sort | uniq -c | grep -vE '^\s*1 '
2 @InProceedings{Arranged, author = {Transcribed by hofei Arranged and by hofei}, title = {ALL OF ME}, file = {:All of Me.pdf:PDF}, groups = {Solo Tab}, }
그러나 자동으로 중복을 삭제하는 방법은 b.bib
무엇입니까?
줄이있는 것과 같지만 이제 단락이 있습니다. 두 파일을 구문 분석하고 첫 번째 단락의 해시를 입력하고 존재하지 않는 경우에만 두 번째 인쇄 단락에 대해 입력합니다.
awk -v RS="" -v ORS="\n\n" 'FNR==NR{a[$0]; next} !($0 in a)' a.bib b.bib
산출:
@InProceedings{,
title = {This Is My Father's World Standard Tuning Traditional Fast Tempo - “Thumbpicking” Style Arrangement by Mark Hanson},
year = {2005},
file = {:MyFathersWorld_p2.pdf:PDF},
groups = {Solo Tab},
}
빈 문자는 중복을 잃을 수 있으므로주의하십시오. diff
결과를 확인하기 위해 함께 실행하고 싶을 수도 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다