mv path_to_example_dir/*_jony /jony
Gostaria de mover todas as pastas contidas na pasta "/ example" com o nome de "_jony" para uma nova chamada de diretório "/ jony". Eu tentei de várias maneiras sem sucesso! Seria ótimo ter algumas ajudas. Obrigado!
mv path_to_example_dir/*_jony /jony
Se isso é algo que você precisa fazer com certa frequência, provavelmente achará útil ter um script para fazer isso. A seguir, um script Bash montado rapidamente, que pode fazer o trabalho:
#!/bin/sh
dir_str=$1
src_dir=$2
dest_dir=$3
ret_code=0
if [ ! -e $src_dir ] ; then
echo "Could not find source directory $src_dir."
let "ret_code += 1"
fi
if [ ! -e $dest_dir ] ; then
echo "Could not find destination directory $dest_dir. (Use mkdir to create.)"
let "ret_code += 2"
fi
if [ $ret_code -eq 0 ] ; then
for dir_to_move in $src_dir/*$dir_str ; do
echo "For '$dir_to_move':"
cmd="mv $dir_to_move $dest_dir"
echo "Executing: $cmd"
$cmd
done
fi
exit $ret_code
Use seu editor favorito para criar o script.
Embora não seja tão avançado, ele tem alguma flexibilidade, pois você pode especificar o texto nos nomes de diretório a serem movidos e os diretórios de origem e de destino. Se você nomeou o arquivo que contém o script "mv_dirs.sh", então, para executá-lo para atingir sua meta declarada, você pode inserir algo assim:
sh mv_dirs.sh _jony /example /jony
Para realmente fazer isso funcionar, você precisará de permissão de gravação no diretório raiz (/), o que os usuários normais normalmente não têm.