如何从分块存储的txt文件中批量提取标题与年份并导出
文献标题+年份提取Shell实现方案
我们以原文献文件名为papers.txt,目标输出文件名为title_year.txt为例,你可以按需替换成自己的文件名。
可直接运行的命令
打开终端后进入文件所在目录,运行以下命令即可:
awk 'BEGIN{RS="";FS="\n"} {print $2", "$5}' papers.txt > title_year.txt
操作步骤(无Shell经验可直接照做)
- 按
Ctrl+Alt+T调出Linux终端 - 输入
cd 你的文件所在目录路径后回车,比如文件存放在下载文件夹就输入cd ~/Downloads - 把上述命令中的
papers.txt替换为你自己的原文献文件名,title_year.txt替换为你想要的输出文件名,输入后回车 - 执行完成后到对应目录下就能找到生成的结果文件,原文件不会被修改,可放心操作
注意事项
- 如果你的文件名包含空格,需要把文件名用英文双引号包裹,例如原文件名为「文献记录.txt」,命令就写成:
awk 'BEGIN{RS="";FS="\n"} {print $2", "$5}' "文献记录.txt" > title_year.txt
命令原理(可选了解)
BEGIN{RS="";FS="\n"}是预先配置解析规则:RS=""代表按空行拆分每个文献记录块,FS="\n"代表每个记录块内按换行符拆分字段,也就是每一行对应一个字段{print $2", "$5}就是取出每个记录块的第2个字段(即第2行标题)和第5个字段(即第5行年份),按要求的格式拼接后输出> title_year.txt代表把输出的内容写入到指定的结果文件中
内容的提问来源于stack exchange,提问作者merchmallow
相关产品推荐
相关产品推荐

