Então, rodando este script dentro do diretório que tem folder1
, folder2
, folder3
, etc etc, ele irá olhar dentro de cada pasta e renomear cada arquivo presente no <directory_<filename>
.
Eu acredito que isso é o que você estava procurando, deixe-me saber se não é o que você estava procurando.
#!/bin/bash
for x in $(ls 'pwd'); do
if [ -d $x ]; then
cd $x
for f in *; do mv $f ${f/$f/$(basename 'pwd')_$f}; done
cd ..
fi
done
É importante notar que isso é indiscriminado em relação aos nomes dos arquivos, se houver arquivos dentro de folder#
que você NÃO deseja renomear, você pode mudar a linha
for f in *; do mv $f ${f/$f/$(basename 'pwd')_$f}; done
para:
for f in *pattern_you_are_lookingfor*; do mv $f ${f/$f/$(basename 'pwd')_$f}; done