.png)
Tenho cerca de 250 arquivos txt todos nomeados link.txt e eles têm essa informação sempre na linha/linha 3:
título: Algum tipo de título
Preciso de algum tipo de script que possa percorrer esses arquivos, pegar o título e colocá-lo como nome do arquivo. A estrutura da pasta é: 1-links/20150528/1/ então seria ótimo se eu pudesse executar o script em "1-links" e ele começaria a procurar por arquivos chamados "link.txt".
Estou usando o Mac OSX.
Alguém pode me ajudar?
Responder1
Algo como pode fazer o trabalho:
for i in `find . -name link.txt -type f`;
do
nn=$(sed -n -e 3p -e "s/title:\ // "$i")
mv "$i" "`dirname $i`/$nn"
done
Se você quiser renomear o último diretório no caminho em vez do arquivo, você pode usar algo como:
for i in `find . -name link.txt -type f`;
do
nn=$(sed -n -e 's/title: //' -e 3p $i)
odir=`dirname $i`
ndir=$(echo $odir|awk -v nn="$nn" -F\/ 'BEGIN {OFS="/"} {$NF=nn;print}')
mv "$odir" "$ndir"
done