Mover arquivos GZ com conteúdo específico

3

Após a restauração do meu disco rígido com o PhotoRec, tenho uma pasta com arquivos de 36.500 GZ. Desses, cerca de 200 são muito importantes para mim.

Cada um desses arquivos contém exatamente um arquivo TAR. Esses arquivos TAR contêm pastas e, entre outros, arquivos dos seguintes tipos de arquivos:

  • doc
  • docx
  • xls
  • rtf
  • pdf
  • ppt
  • ods
  • odt
  • jpg

É possível criar um script de shell que

  1. abre cada um desses arquivos GZ
  2. verifica se existe um arquivo TAR nele e - se sim
  3. abre o arquivo TAR
  4. verifica se o arquivo TAR contém um dos tipos de arquivos fornecidos e - se sim
  5. move o arquivo GZ contendo o TAR para um determinado diretório

Como eu sou um iniciante completo quando se trata de scripts de shell, eu ficaria muito grato por qualquer dica ou ponteiro na direção certa sobre como tal script poderia parecer.

    
por Stefan 19.11.2013 / 21:25

1 resposta

2

Isso não foi testado. Eu coloquei um comentário de segurança lá (então ele apenas ecoa o arquivo gz ao invés de movê-lo), mas quando você tem certeza de que funciona, tente.

for f in *.gz; do
    win=$(tar -ztvf "$f" | grep -iE 'doc|docx|xls|rtf|pdf|ppt|ods|odt|jpg$' | wc -l)
    if [[ $win -gt "0" ]]; then
        # mv "$f" /other/directory
        echo "$f contains one of my files!"
    fi
done
    
por Oli 20.11.2013 / 11:41
___ answer406247 ___

Não há lugar central para aplicar as configurações do mouse globalmente.

Por quê?
Vamos rever como uma sessão de usuário começa em um ambiente de janela X (GNOME, KDE, XFCE, etc.)

  1. um gerenciador de exibição inicia o servidor X que lê seu arquivo de configuração xorg.conf e mostra uma janela de login (normalmente criada por um programa independente de boas-vindas). então a única maneira de alterar as configurações do mouse no momento é através do xorg.conf.

  2. após o login, um gerenciador de sessão inicia um daemon de configurações que reaplica as configurações armazenadas, o que pode sobrescrever essas configurações no xorg.conf. para diferentes ambientes de desktop, os daemons de configurações são diferentes e eles não têm responsabilidade de respeitar as configurações uns dos outros. Normalmente, há uma interface GUI para cada daemon de configurações.

um esclarecimento sobre o daemon de configurações. no GNOME, é o gnome-settings-daemon enquanto no XFCE é xfsettingsd. No Unity, é o gnome-settings-daemon porque o Ubuntu reutiliza a maior parte da pilha do GNOME.

Voltar aos seus requisitos.

  1. aplica-se à tela de login
    A única maneira de conseguir isso é através do xorg.conf. porque o daemon de configurações não é iniciado no momento.
    para mudar o mouse para ser canhoto, consulte
    como posso configurar um modelo de mouse usb específico como canhoto?
    Para alterar a aceleração do mouse, consulte o link

  2. aplica-se a todas as outras sessões de usuário
    isso é simples. todo ambiente de desktop tem programas de configurações. Altere as configurações do mouse de cada ambiente de desktop para o valor desejado.

___ qstntxt ___

Eu ajustei a sensibilidade do meu mouse para ficar bem, e troquei os botões do mouse, já que eu uso ele com a mão esquerda. Isso foi feito usando as configurações do usuário "Mouse e Touchpad" no Gnome.

Eu gostaria que isso se aplicasse à tela de login e a todas as outras sessões do usuário (já que elas são todas minhas também). Estou usando o Gnome 3.8 em 13.10, mas outras sessões podem usar Unity ou XFCE.

Como aplico minhas configurações de mouse de sessão globalmente?

    
___ Alternando janelas - digite o nome da janela