Para determinar automagicamente em que diretório de seus dados foi e se você estiver usando Bash, faça o seguinte: a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}". Se não no Bash, isso deve funcionar: printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1. Caso contrário, é muito provável que no último diretório, alfanumérico. Feito.
precisa saber é o seguinte
Respostas:
20
Se a última entrada alfabética neste diretório for um diretório em si, eles estarão lá.
Suponha que você tenha os arquivos a, be ceo diretório d. Nesse caso,
+1: veja os subdiretórios no diretório / var / www / vhosts / website / httpdocs / magento / *. Dica: o subdir ainda está no diretório magento, por isso deve ser fácil, pois quase todo o resto deve estar agora embaixo dele; portanto, deve haver apenas um dir (sem contar os que começam com um '.'). Digite esse subdir e "mv * ..". Isso pode mover coisas que estavam anteriormente corretamente sob esse diretório, no entanto, então você terá que colocá-las de volta. + Qualquer arquivo que tinha o mesmo nome como um arquivo de magento / * terá benn substituído (se o seu "mv" não é alias para "mv -i")
Olivier Dulac
2
truque puro com mv *: mkdir zzz; mv *que moverá todo o conteúdo do diretório atual para o diretório zzz. Apenas verifique se você não possui nenhum arquivo que classifique lexagraphically após o zzz.
2
Para estender a resposta de glglgl:
A expansão de curinga da linha de comando nos sistemas operacionais do tipo Unix é realizada pelo shell. Na maioria dos casos, com o Linux seria bash. Sua página de manual declara explicitamente que a expansão do curinga será classificada em ordem alfabética. O mesmo deve ser válido para a maioria dos invólucros compatíveis com Bourne.
a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}"
. Se não no Bash, isso deve funcionar:printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1
. Caso contrário, é muito provável que no último diretório, alfanumérico. Feito.Respostas:
Se a última entrada alfabética neste diretório for um diretório em si, eles estarão lá.
Suponha que você tenha os arquivos
a
,b
ec
eo diretóriod
. Nesse caso,expande para
que é um comando para mover tudo para
d
. Olhe lá se houver alguma coisa.Se
d
não fosse um diretório,mv
deveria ter reclamado disso.fonte
mv *
:mkdir zzz; mv *
que moverá todo o conteúdo do diretório atual para o diretório zzz. Apenas verifique se você não possui nenhum arquivo que classifique lexagraphically após o zzz.Para estender a resposta de glglgl:
A expansão de curinga da linha de comando nos sistemas operacionais do tipo Unix é realizada pelo shell. Na maioria dos casos, com o Linux seria
bash
. Sua página de manual declara explicitamente que a expansão do curinga será classificada em ordem alfabética. O mesmo deve ser válido para a maioria dos invólucros compatíveis com Bourne.fonte