Como alterar o grupo, excluindo um diretório

1

Estamos usando o AWS S3 Buckets e, quando você tenta fazer um chgrp recursivo, ele é rotulado no bucket S3 (essencialmente) indefinidamente. É possível executar chgrp ao excluir um diretório?

    
por Mike 24.04.2015 / 20:51

2 respostas

1

Você pode usar a capacidade do GNU find de não seguir um caminho de diretório para outro sistema de arquivos:

find /some/path -mount -exec chgrp groupname {} +
    
por 25.04.2015 / 06:55
2

A resposta é o uso do bash extglob e funciona aqui, assim como muitas outras funções do Linux que aceitam a designação de arquivo no formulário /directory/* .

É possível alterar o grupo de arquivos avidamente em um diretório, excluindo um diretório, transformando primeiro extglob em e incluindo o nome do diretório a ser excluído:

shopt -s extglob
chgrp /directory/!(exclude)

E quando terminar, desative a opção com o sinalizador -u .

shopt -u extglob

Para uma útil postagem no Stack, veja " Como posso usar curingas inversos ou negativos quando a correspondência de padrões em um unix / linux shell? "

    
por 24.04.2015 / 20:51