.png)
Tengo alrededor de 250 archivos txt que se llaman link.txt y siempre tienen esta información en la línea/fila 3:
título: algún tipo de título
Necesito algún tipo de script que pueda revisar estos archivos, tomar el título y ponerlo como nombre de archivo. La estructura de carpetas es: 1-links/20150528/1/, así que sería genial si pudiera ejecutar el script en "1-links" y comenzaría a buscar archivos llamados "link.txt".
Estoy usando Mac OSX.
¿Puede alguien ayudarme?
Respuesta1
Algo como puede hacer el trabajo:
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
Si desea cambiar el nombre del último directorio en la ruta en lugar del archivo, puede 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