Como criar shell script para criar diretórios com nomes iguais aos arquivos porém sem a extensão? [R

1. Como criar shell script para criar diretórios com nomes iguais aos arquivos porém sem a extensão? [R

Anderson N. Barbosa
andersonnb6

(usa Ubuntu)

Enviado em 26/09/2017 - 16:01h

Imagine que tenho em um diretório os seguintes arquivos:

d_arquivo1.fastq
d_arquivo2.fastq
d_arquivo3.fastq
... e mais centenas.

Queria criar dentro deste diretório, via terminal, pastas com o nome destes mesmos arquivos porém sem a extensão (.fastq). Portanto, as pastas deveriam ficar com os seguintes nomes:
arquivo1
arquivo2
arquivo3
...

Estou tentando com o seguinte comando:
~$: for f in d_*.fastq; do mkdir $f; done

Mas obtenho como resultado:
~$: mkdir: é impossível criar o diretório “d_arquivo1.fastq”: Arquivo existe
~$: mkdir: é impossível criar o diretório “d_arquivo2.fastq”: Arquivo existe
~$: mkdir: é impossível criar o diretório “d_arquivo3.fastq”: Arquivo existe
...

O objetivo final de tudo isso, seria colocar cada arquivo em sua respectiva pasta. Mas vamos um passo de cada vez.
Qualquer um que puder ajudar, já tem minha estima.
Abraços!!



  


2. Tente algo parecido...

Edson G. de Lima
Xxoin

(usa Ubuntu)

Enviado em 26/09/2017 - 16:48h

A sintaxe não é essa, porém, devidamente adaptada ao Shell, deverá funcionar...

Entendi que todos os arquivos possuem o mesmo nome, diferenciando-se pela terminação numérica. Tente algo semelhante a isso... (Obs: a solução não é exatamente desse modo, o que segue é apenas uma ideia):

$qt_arquivos=número_de_arquivos;
for ($i==1; $i<=$qt_arquivos; $i++) {
mkdir (grep NOME_ARQUIVO separando até o "ponto")$i.
}


3. Re: Como criar shell script para criar diretórios com nomes iguais aos arquivos porém sem a extensão? [R

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 26/09/2017 - 17:54h

Segue:
for i in *.*;do DIR=$(cut -d"." -f1 <<< "$i");mkdir "$DIR";mv $i $DIR;done 

Serão criados DIRETÓRIOS com o NOME do ARQUIVO sem a EXTENSÃO
E o ARQUIVO sera MOVIDO para o RESPECTIVO DIRETÓRIO.

Att.:
Marcelo Oliver




4. Agradecimento...

Anderson N. Barbosa
andersonnb6

(usa Ubuntu)

Enviado em 26/09/2017 - 18:05h

Funcionou perfeitamente com a sugestão do msoliver.

Agradeço a ambos Xxion e msoliver.

Abraços!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts