this post was submitted on 29 Jun 2025
350 points (99.2% liked)

Science Memes

15479 readers
2771 users here now

Welcome to c/science_memes @ Mander.xyz!

A place for majestic STEMLORD peacocking, as well as memes about the realities of working in a lab.



Rules

  1. Don't throw mud. Behave like an intellectual and remember the human.
  2. Keep it rooted (on topic).
  3. No spam.
  4. Infographics welcome, get schooled.

This is a science community. We use the Dawkins definition of meme.



Research Committee

Other Mander Communities

Science and Research

Biology and Life Sciences

Physical Sciences

Humanities and Social Sciences

Practical and Applied Sciences

Memes

Miscellaneous

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[โ€“] wiase@discuss.online 32 points 2 days ago (3 children)

No, but seriously, half of my research time is wasted on renaming downloaded files. (Yeah, I know, there's reference management software but people use different ones, so sharing papers or storing tgem for easy access is still dependent on properly named files.)

[โ€“] sga@lemmings.world 5 points 1 day ago

I have a script which fetches bib entries for pdfs, and then renames it to my prefered format (names of author (no more than 2) - name of paper).

in case you are interested


#!/usr/bin/env sh

newnamefn(){
	bib="$(pdf2bib "$1")"
	name="$(echo "$bib" | grep "title = " | cut -d'{' -f 2 | cut -d'{' -f 1 )"
	authors=$(echo "$bib" | grep "author = " | cut -d'{' -f 2 | cut -d'{' -f 1  | sed -z 's/\ and\ /\n/g' | head -n 2 | tr '\n' ' ')
	echo "$authors-$name" | detox --inline
}

for i in "$@" ; do 
	newname="$(newnamefn "$i")" 
	mv "$i" "${i%/*}/$newname".pdf
done

detox --inline is just a utility which makes the file names shell friendly (removes special characters and spaces), but that is optional. Also, technically the newnamefn is what does all of the job, and below is just a loop to iterate on all files that are given as input like script file1 "file2" file3, where file2 had some special characters, so enclosed in "" quotes. you can also translate it to python, then you would not even require sed and grep (you can just get output in json-esque format). I have a small keybinding in my file manager, which renames all selected files, so I do not have to spend any amount of my mind

you can make it work in any os (maybe use some llm for it), you just have to install pdf2bib

load more comments (2 replies)