Movendo apenas o primeiro arquivo de qualquer diretório para o atual

1

Eu tenho dois diretórios que são chamados de 1 e POSCARS e há arquivos no diretório POSCARS . Eu quero mover apenas o primeiro arquivo do diretório POSCARS para o diretório 1 enquanto eu estiver no diretório 1 .

Obrigado pelo conselho

    
por tubey 04.11.2016 / 21:06

2 respostas

2

Se você quiser mover apenas o primeiro arquivo em um diretório, para o diretório de trabalho atual, você pode usar for , porque ele faz um loop nos arquivos de forma ordenada. Substitua /path/to/ pelo caminho real para o diretório POSCARS e teste-o primeiro com echo :

for file in /path/to/POSCARS/* ; do echo mv -v -- "$file" . ; break ; done

Isso localizará o primeiro arquivo em POSCARS e simulará movê-lo para o diretório de trabalho atual. Se ele mostrar o que você deseja, execute novamente o comando sem echo para realmente mover o arquivo:

for file in /path/to/POSCARS/* ; do mv -v -- "$file" . ; break ; done
  • mv -v -- move o arquivo, informa a ação e não aceita mais opções
  • . é o diretório de trabalho atual
  • break significa quebrar o loop após a primeira iteração, então ele irá parar de mover arquivos depois de encontrar o primeiro
por Zanna 04.11.2016 / 21:18
0

Suponho que você tenha as permissões apropriadas para mover os arquivos em questão. suponho que eu esteja no diretório e quero mover outro diretório aqui.

~/FirstDir$ mv POSCARS/ .

seria o comando geral. o ponto, [.] diga mova aqui.

    
por j0h 04.11.2016 / 21:13