Se os arquivos tiverem uma extensão .txt
, você poderá usar algo como:
find ~/Desktop/Research -type f -iname '*.txt' -exec chmod u+w '{}' +
find
é recursivo por padrão e também entrará em todos os subdiretórios.
Se os arquivos forem do tipo , mas não tiverem extensões, você poderá fazer algo como
for i in ~/Desktop/Research/*; do if [[ $(file "$i" | grep text) ]]; then echo chmod u+w "$i"; fi; done
Nesse comando, echo
é apenas para teste, para mostrar quais alterações de permissão serão aplicadas. Remova echo
após o teste para realmente alterar as permissões. Desta vez, não haverá saída.
Se você quiser que este comando funcione em subdiretórios, você pode fazer isso:
shopt -s globstar; for i in ~/Desktop/Research/**; do if [[ $(file "$i" | grep text) ]]; then echo chmod u+w "$i"; fi; done
Eu usei chmod u+w
, o que adiciona permissão de gravação apenas para o proprietário. Ajuste como preferir, (tente isso primeiro e, se ainda tiver problemas, substitua por chmod o+w
ou chmod 666
, mas tenha cuidado em dar permissão de gravação para todos!) E, claro, não altere as permissões dos arquivos do sistema. / p>