각 항목이 일반적인 구조를 갖는 많은 항목이있는 큰 bibtex 파일이 있습니다.
@ARTICLE{AuthorYear,
item = {...},
item = {...},
item = {...},
etc
}
(어떤 경우 ARTICLE
에는 다른 단어가있을 수 있습니다 BOOK
)
내가하고 싶은 것은 주어진 AuthorYear로 항목을 추출하고 새로운 .bib 파일에 넣는 간단한 스크립트 (바람직하게는 쉘 스크립트)를 작성하는 것입니다.
AuthorYear의 첫 번째 문장과 마지막 닫힘으로 마지막 문장을 인식하고 항목 을 추출하는 데 }
사용할 수 있다고 생각할 수 있지만 실제로이 sed
작업을 정확히 수행하는 방법을 모르겠습니다. 누군가 내가 어떻게 이것을 달성 할 수 있는지 말해 줄 수 있습니까?
아마 다음과 같아야합니다
sed -n "/AuthorYear/,/\}/p" file.bib
그러나 }
항목의 첫 번째 항목이 닫히면 중지 되어 다음과 같이 출력됩니다.
@ARTICLE{AuthorYear,
item = {...},
따라서 }
줄에서 유일한 문자 인지 여부를 인식해야 하며이 경우 읽기를 중지하십시오.
sed
이 전혀 필요하지는 않습니다. 나는 그것이 가장 쉬운 옵션이라고 생각했습니다. 나는 약간 다른 코드를 알아 냈다. sed -n "/AuthorYear/, /^ *\}/p"
이것은 }
공간이 있다면 닫고 수정하는 것을 포함하여 내가 원하는 것을 정확하게하는 것처럼 보인다
sed -n "/AuthorYear/,/\}$/p"
.$
기호를 참고하십시오 .}
bibitem 의 닫힘 을 인쇄하지 않는다는 점을 제외하고는 잘 작동합니다 . Btw, 사용이sed
필요합니까?