【发布时间】:2015-07-25 22:41:46
【问题描述】:
我有以下文件:
%0 Book
%T Gale encyclopedia of medicine
%A Deirdre S. Blanchfield
%A Jacqueline L. Longe
%A Gale Research Company
%@ 0787654892
%D 2002
%I Gale Group
%R 10.1001/0787654892
%F Gale_Thomson_Encyclopedias/Medicine and Health/0787654892/Gale Encyclopedia of Medicine. Vol. 1. 2nd ed.pdf
%0 Book
%T Encyclopedia of United States national security
%A Richard J. Samuels
%@ 0761929274
%D 2006
%I SAGE
%R 10.1001/0761929274
%F Gale_Thomson_Encyclopedias/Politics, Law, Sociology/Encyclopedia of United States National Security_v1-2_0761929274 (Sage, 2006).pdf
%0 Book
%T Gale encyclopedia of medicine
%A Deirdre S. Blanchfield
%A Jacqueline L. Longe
%A Gale Research Company
%@ 0787654892
%D 2002
%I Gale Group
%R 10.1001/0787654892
%F Gale_Thomson_Encyclopedias/Medicine and Health/0787654892/Gale Encyclopedia of Medicine. Vol. 2. 2nd ed.pdf
并想用 %F 以下序列中的文件名替换文件中的文件。
/ModDate(D:
这样
/Subject (??? 2015, :. doi:<content of field %R>')/ModDate(D:
在上述情况下(仅显示第一条记录,但应针对所有记录进行):
文件名:
Gale_Thomson_Encyclopedias/Medicine and Health/0787654892/Gale Encyclopedia of Medicine. Vol. 1. 2nd ed.pdf
具有以下顺序:
/ModDate(D:
替换为
/Subject (??? 2015, :. doi:10.1001/0787654892)/ModDate(D:
如何使用 awk 来完成?非常感谢!如果文件中已经有/subject ( .. ) 行,则可能会出现问题。这应该在替换完成之前删除。
欢迎任何帮助。
【问题讨论】:
-
所以如果我理解正确的话,还有一大堆其他文件,它们有不同的格式?你能给我们举个例子吗?最好具体解释一下您在哪里卡住了,因为目前您似乎只是希望有人为您完成工作。
-
没有所有记录在一个文件中采用这种格式。每条记录都以
\r\n%0 Book开头。并且只有 PDF 作为文件名。好吧,我也想学习,所以我当然会做,但我对 awk 不太熟悉,它是一个很棒的工具。目的是在 Endnote 中的 PDF 中定义 DOI,元数据是以尾注记录格式导出。如果可以做到这一点,那么 Endnote 可以自动导入 PDF 并将 PDF 链接到 Endnote 元数据。 -
and would like to replace in the file with the filename in %F 建议对于您显示的文件中的每条记录,其他地方都有一个单独的文件。跨度>
-
Yes TOM,在 %F 中有应处理的 PDF 的位置和文件名。 PDF中PDF的元数据是ASCII码,可以搜索替换。