Erro ao listar diretorios e arquivos [RESOLVIDO]

1. Erro ao listar diretorios e arquivos [RESOLVIDO]

Vinicius Dutra
viniciuspdutra

(usa Debian)

Enviado em 23/04/2014 - 16:28h

Boa tarde, estou com um erro "estranho" ao listar diretórios em um script.

Utilizo o seguinte script:


var=`head -1 /musicas/SONYDADC/scripts/imp/importados.txt`

echo "Exibir variavel"
echo "$var"

echo "Listar a pasta"
ls /musicas/SONYDADC/scripts/"$var"/

cp -Rfv /musicas/SONYDADC/scripts/"$var" /musicas/SONYDADC/musicas/temp/


Explicando:

1 - Possuo um arquivo "importados.txt" onde está o caminho das pasta, existe um por linha.
Carrego a primeira linha em uma variável $var;
2 - Exibo a variável para garantir que está correta;
3 - Listo a pasta para ver seu conteúdo;
4 - Copio a pasta para outro diretório;

ao executar esse script retorna o seguinte erro:


root@cdn-app1:/musicas/SONYDADC/scripts# ./moveftpmp3.sh

Exibir variavel
sonyftp/prod/A10301A00031497274_20140407144937473

Listar a pasta
/: No such file or directory: /musicas/SONYDADC/scripts/sonyftp/prod/A10301A00031497274_20140407144937473

cp: cannot stat `/musicas/SONYDADC/scripts/sonyftp/prod/A10301A00031497274_20140407144937473\r': No such file or directory



Estes diretórios existem e consigo acessá-los normalmente.
Agora se eu executar o comando de listar manualmente funciona:



root@cdn-app1:/musicas/SONYDADC/scripts# ls /musicas/SONYDADC/scripts/sonyftp/prod/A10301A00031497274_20140407144937473
A10301A00031497274.xml resources


O mais estranho é que depois de executar o listar manualmten, posso executar o script novamente que vai funcionar.
Não consigo entender oque está acontecendo e como posso resolver o problema.

Agradeço a ajuda de vocês.


  


2. Re: Erro ao listar diretorios e arquivos [RESOLVIDO]

Phillipe Smith
smithux

(usa Arch Linux)

Enviado em 23/04/2014 - 16:53h

Já tentou remover as aspas deixando somente $var?


3. Resolvido

Vinicius Dutra
viniciuspdutra

(usa Debian)

Enviado em 23/04/2014 - 18:05h

Consegui resolver o problema,

O arquivo txt possui quebra de linha, então utilizei o comando:
sed 's/\x0D$//' 


assim ele remove as quebras de linha em ANSII.

Agora meu script roda muito bem.
PS.: Se você possui varias linhas no arquivo cuidado pois pode juntar todas em uma linha só, dependendo de como arquivo foi gerado.


4. Re: Erro ao listar diretorios e arquivos [RESOLVIDO]

Vinicius Dutra
viniciuspdutra

(usa Debian)

Enviado em 23/04/2014 - 18:06h

smithux escreveu:

Já tentou remover as aspas deixando somente $var?


Já sim más não deu certo, era problema da quebra de linhas mesmo.
Obrigado pela ajuda!


5. Re: Erro ao listar diretorios e arquivos [RESOLVIDO]

Phillipe Smith
smithux

(usa Arch Linux)

Enviado em 23/04/2014 - 18:19h

viniciuspdutra escreveu:

Consegui resolver o problema,

O arquivo txt possui quebra de linha, então utilizei o comando:
sed 's/\x0D$//' 


assim ele remove as quebras de linha em ANSII.

Agora meu script roda muito bem.
PS.: Se você possui varias linhas no arquivo cuidado pois pode juntar todas em uma linha só, dependendo de como arquivo foi gerado.


Opa! Bacana meu brother.
Mas, só pra constar, mais uma forma de remover linhas em branco com sed:

sed '/^$/d'







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts