Altera atributos de todos os alvos do symlink em um diretório

1

Como alterar atributos de todos os alvos do symlink dentro de um diretório?

/usr/bin/find /mydir -type l | xargs /bin/readlink | /usr/bin/chattr +s

canalizar três comandos não funciona.

Obrigado.

    
por Dan 27.01.2013 / 07:22

2 respostas

1
/usr/bin/find /mydir -type l -exec /bin/readlink {} \; | xargs -d'\n' /usr/bin/chattr +s

Isso vai

  1. encontre os links e retorne os destinos, separados por nova linha, por meio do utilitário readlink e
  2. divida os argumentos de entrada na nova linha e execute chattr em todos os destinos.

Um problema pode ocorrer se você tiver novas linhas dentro de nomes de arquivos, mas isso geralmente é apenas um problema hipotético.

    
por 27.01.2013 / 14:16
0
/usr/bin/find /mydir -type l -exec /usr/bin/chattr +s '{}' \;
    
por 27.01.2013 / 07:31