Consegui fazer isso com o seguinte script:
#!/bin/bash
files='/path/to/files'
for file in "$files/"*.jpg; do
tag=$(grep '_tags_' "${file/.jpg/.txt}")
bname=${file%.jpg}
mv "$file" "${bname}${tag}.jpg"
done
Isso passará por todos os arquivos .jpg
no caminho que você especificar.
tag
irá grep para a string _tags_
no arquivo .txt
com o mesmo nome que o atual arquivo .jpg
em que está trabalhando e definido para toda a linha.
bname
será definido como o nome base do arquivo atual em que está trabalhando (sem extensão)
Irá então renomear o arquivo para name / tag.jpg (Então, no caso do exemplo 2675_tags_mountains_daylight_oregon.jpg
)