mover o arquivo de uma pasta para outra pasta

2

Eu tenho 2 pastas no mesmo diretório, ou seja,

diretório exp

nome do arquivo de pastas, log.

Eu gostaria de escrever o script bash para que quando eu clico em mover arquivo .sh, em seguida, conteúdo da pasta de dados deve mover para a pasta de log e nome do arquivo na pasta de dados deve ir para outro arquivo ou seja filenames.txt que é também presente no diretório exp

    
por Umair khan 25.06.2015 / 07:35

2 respostas

1

Desde que não haja nomes de arquivos duplicados, o seguinte é um script simples que fará o que você deseja:

#!/bin/bash
ls <path-to-data-folder> >> <path-to-filenames.txt>
mv <path-to-data-folder>/* <path-to-log-folder>

Plug-in o caminho real para suas pastas / arquivos. Salve como move.sh, torne-o executável por chmod +x <path-to-move.sh> e execute-o.

Para executá-lo clicando, primeiro clique com o botão direito do mouse em move.sh clique em propriedades e, em seguida, vá para a guia de permissão e clique em "Permitir execução do arquivo como programa", conforme mostrado abaixo:

Feche-oe,emseguida,váparaEditar->Preferências->Comportamentononautilusecliqueem"Executar arquivos de texto executáveis quando eles são abertos" como mostrado abaixo:

Feche-o.

Agora, se você puder executar o script clicando duas vezes em move.sh .

    
por Ron 25.06.2015 / 08:01
-1

A primeira coisa que você precisa fazer é tornar o nautilus (seu explorador de arquivos) para executar arquivos executáveis ao clicar duas vezes ( NOTE : você deve ser cuidadoso ao executar arquivos executáveis baixados da Internet)

  1. Abra o Nautilus (clicando no ícone no inicializador)
  2. Na barra de menus, clique em Edit
  3. procure uma guia chamada Behaviour
  4. em Executable Text Files select Ask each time . ( OBSERVAÇÃO : você pode selecionar Run executable text files when they are opened , mas é recomendado não escolher esta opção porque você pode executar um arquivo executável por engano)

faça o arquivo move.sh no diretório exp , seu conteúdo será:

#!/bin/bash
ls -1 data >> filenames.txt
mv -t log ./data/*

(você pode usar o gedit para copiar e colar essas linhas acima e salvar o arquivo no diretório exp )
depois abra o terminal e execute:

cd exp
chmod u+x move.sh

Feito!

    
por Edward Torvalds 25.06.2015 / 16:36