Aqui está um script bash que faz isso:
Nota: Este script não funciona se algum dos nomes de arquivo contiver espaços.
#! /bin/bash
# Only go through the directories in the current directory.
for dir in $(find ./ -type d)
do
# Remove the first two characters.
# Initially, $dir = "./directory_name".
# After this step, $dir = "directory_name".
dir="${dir:2}"
# Skip if $dir is empty. Only happens when $dir = "./" initially.
if [ ! $dir ]
then
continue
fi
# Go through all the files in the directory.
for file in $(ls -d $dir/*)
do
# Replace / with _
# For example, if $file = "dir/filename", then $new_file = "dir_filename"
# where $dir = dir
new_file="${file/\//_}"
# Move the file.
mv $file $new_file
done
# Remove the directory.
rm -rf $dir
done
- Copie e cole o script em um arquivo.
- Torne-o executável usando
chmod +x file_name
- Mova o script para o diretório de destino. No seu caso, isso deve estar dentro de
Folder/. - Execute o script usando
./file_name.