Bash - Extensão do Arquivo & Quebra de Linha [RESOLVIDO]

1. Bash - Extensão do Arquivo & Quebra de Linha [RESOLVIDO]

Diego Tavares
diegoneto

(usa Outra)

Enviado em 02/01/2012 - 17:23h

Saudações a todos,

Preciso elaborar um script para criação de um arquivo com base na busca de algumas palavras em outros arquivos. Já consegui estipular o comando necessário, mas estou tendo dificuldades na elaboração da saída através do shell script.

Problema 1:
O comando que estou rodando é:

fgrep -f Busca/Busca.txt -w -r -h Arquivos > Resposta/Resposta.txt

Se eu executar esse comando diretamente no terminal, funciona tudo ok (não exatamente TUDO ok conforme descrito no problema 2, mas ele cria o arquivo com a extensão desejada). Se eu rodar através do shell script, ele insere um caracter "'" no final do arquivo. Fazendo com que o windows não reconheça o formato e consequentemente não abrindo. O script por enquanto tem apenas esse comando e estou executando ele através do comando bash <Nome do Script>.

Resposta através do terminal:
> Arquivo criado: Resposta.txt
Resposta através do shell script:
> Arquivo criado: Resposta.txt'

Problema 2:

Eu criando o Resposta.txt através do bash, ele não insere quebra de linha, ficando um quadrado como caracter. Acredito que isso seja devido a codificação do arquivo porq eu consigo visualizar o arquivo corretamente através do Notepad++, mas gostaria de acertar isso para visualizar da mesma forma no Notepad do windows.

Abraços,
Diego Tavares


  


2. Re: Bash - Extensão do Arquivo & Quebra de Linha [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 03/01/2012 - 12:57h

Então, fiz o teste aqui em minha máquina de teste e deu tudo certo:



[root@Server1 tmp]# cat teste.sh
#!/bin/bash

fgrep -f aa.txt -w -r -h arquivos.txt > resposta.txt

[root@Server1 tmp]# ./teste.sh
[root@Server1 tmp]# ls -ltr
total 20
-rw-r--r-- 1 root root 56 Jan 3 12:41 aa.txt
-rw-r--r-- 1 root root 12 Jan 3 12:41 arquivos.txt
-rwxr-xr-x 1 root root 63 Jan 3 12:44 teste.sh
-rw-r--r-- 1 root root 6 Jan 3 12:47 resposta.txt

[root@Server1 tmp]# cat resposta.txt
123456



Vc está utilizando /bin/bash?

Em último caso tente inserir aspas duplas em resposta.txt ( > "resposta.txt").


3. Re: Bash - Extensão do Arquivo & Quebra de Linha [RESOLVIDO]

Diego Tavares
diegoneto

(usa Outra)

Enviado em 03/01/2012 - 13:50h

Cara, a solução que eu encontrei foi através do dos2unix e unix2dos que converte o formato do arquivo de um para o outro.

Eu estou utilizando um terminal dentro do windows para rodar os scripts e alterando os scripts em txt no Notepad++. Depois de salvar o arquivo no Notepad++, eu utilizo o dos2unix, rodo o script através do bash e funciona sem problemas. Tanto para o script quanto para o arquivo txt gerado pelo script

Provavelmente não é a melhor solução, mas é a q eu encontrei por enquanto e tá indo... rs


4. Re: Bash - Extensão do Arquivo & Quebra de Linha [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 03/01/2012 - 15:00h

diegoneto escreveu:

Cara, a solução que eu encontrei foi através do dos2unix e unix2dos que converte o formato do arquivo de um para o outro.

Eu estou utilizando um terminal dentro do windows para rodar os scripts e alterando os scripts em txt no Notepad++. Depois de salvar o arquivo no Notepad++, eu utilizo o dos2unix, rodo o script através do bash e funciona sem problemas. Tanto para o script quanto para o arquivo txt gerado pelo script



Realmente o unix2dos é a melhor solução para trabalhar dentro dos arquivos.

Mas referente a correção do nome do arquivo sair com aspas simples (') no final deu certo?




5. Re: Bash - Extensão do Arquivo & Quebra de Linha [RESOLVIDO]

Diego Tavares
diegoneto

(usa Outra)

Enviado em 03/01/2012 - 15:13h

Eu resolvi tudo com o unix2dos e dos2unix.

Com relação ao TXT sair com aspas simples no final a solução foi converter o script através do dos2unix.

Com relação a tabulação do arquivo TXT criado a solução foi converter o TXT através do arquivo unix2dos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts