Comando para retirar os espaços "Tab's" de um arquivo. [RESOLVIDO]

1. Comando para retirar os espaços "Tab's" de um arquivo. [RESOLVIDO]

Murilo Soares Stersi
murilostersi

(usa Debian)

Enviado em 07/04/2017 - 13:06h

Boa tarde pessoal,

Sou iniciante no Linux e estou aprendendos alguns comandos básicos e me deparei com a seguinte situação:

Criei dois arquivos (arq1.txt e arq2.txt)
No arq1.txt, coloquei a seguinte frase: JoãodaSilva
E no arq2.txt coloquei, Santos
Usei o comando paste para junta-los e redirecionei a saída para um outro arquivo.txt: paste arq1.txt arq2.txt > arquivo.txt
A junção dos dois arquivos ocorreu bem, porém existe um pequeno detalhe, a junção ficou assim:
JoãodaSilva ( O TAB FICA AQUI) Santos
Existe um espaçamento TAB no meio da junção, gostaria de aprender uma forma de retirar este espaçamento deixando o dois textos grudados um no outro (sem espaço, tudo junto mesmo).

Existe alguma forma de fazer isto?

Obrigado pela atenção, aguardo uma solução.

OBS: Uso Debian Wheezy (não sei se isso ajuda kk).



  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/04/2017 - 13:16h

sed -i 's/\t//g' arquivo  


3. Re: Comando para retirar os espaços "Tab's" de um arquivo. [RESOLVIDO]

Murilo Soares Stersi
murilostersi

(usa Debian)

Enviado em 07/04/2017 - 13:43h

PauloHAC escreveu:

sed -i 's/\t//g' arquivo  


Muuuuuuuuuuuito obrigado, funcionou perfeitamente.


Surgiu outra dúvida, quero substituir uma determinada linha de um arquivo por essa linha que eu juntei:
No arquivo.txt está JoãodaSilvaSantos,
e neste outro arquivo na linha 35 está MariaJoseSantos.

Como faço para substituir MariaJoseSantos na linha 35 por JoãodaSilvaSantos?

Aguardo uma solução.

Obrigado.







4. Re: Comando para retirar os espaços "Tab's" de um arquivo. [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 07/04/2017 - 13:58h

murilostersi escreveu:

PauloHAC escreveu:

sed -i 's/\t//g' arquivo  


Muuuuuuuuuuuito obrigado, funcionou perfeitamente.


Surgiu outra dúvida, quero substituir uma determinada linha de um arquivo por essa linha que eu juntei:
No arquivo.txt está JoãodaSilvaSantos,
e neste outro arquivo na linha 35 está MariaJoseSantos.

Como faço para substituir MariaJoseSantos na linha 35 por JoãodaSilvaSantos?

Aguardo uma solução.
Obrigado.


Boa tarde.
sed -i 's/MariaJoseSantos/JoãodaSilvaSantos/' NOMEDOARQUIVO 


att.:
marcelo oliver



5. Re: Comando para retirar os espaços

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/04/2017 - 18:34h

sed -i '35s/.*/novo_texto/' arquivo 

.* (substitui a linha 35 inteira pelo "novo_texto")


6. Re: Comando para retirar os espaços "Tab's" de um arquivo. [RESOLVIDO]

Murilo Soares Stersi
murilostersi

(usa Debian)

Enviado em 10/04/2017 - 09:17h

PauloHAC escreveu:

sed -i '35s/.*/novo_texto/' arquivo 

.* (substitui a linha 35 inteira pelo "novo_texto")


Olá bom dia,

Gostaria de saber se onde está o "novo_texto" eu posso colocar um arquivo que contem uma frase ou uma variavel, por exemplo:
Tenho um arquivo.txt que contem a palavra josé.
Gostaria de saber se existe um sintaxe que dê pra colocar por exemplo: sed -i '35s/.*/arquivo.txt/' arquivo2.txt.
Assim quando o arquivo.txt for atualizado, o arquivo2.txt será modificado automaticamente.
Por que ai a substuição no arquivo2.txt seria perfeita. Assim do jeito que está eu teria que alterar manualmente toda vez, alterando o 'novo_texto'.

Existe esta forma?

Aguardo uma resposta.

Obrigado, este comando me ajudou bastante também.

Atenciosamente,





7. Re: Comando para retirar os espaços

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/04/2017 - 10:28h

Considerando que o arquivo1 tem o coteúdo "José" e o arquivo2 será editado:
sed -i "Ns/.*/`cat arquivo1`/" arquivo2 

N = número da linha a ser editada.


8. Re: Comando para retirar os espaços

Murilo Soares Stersi
murilostersi

(usa Debian)

Enviado em 10/04/2017 - 16:51h

PauloHAC escreveu:

Considerando que o arquivo1 tem o coteúdo "José" e o arquivo2 será editado:
sed -i "Ns/.*/`cat arquivo1`/" arquivo2 

N = número da linha a ser editada.



Boa tarde Paulo, MUITO OBRIGADO. Você é muito bom!

Eu consigo colocar este comando que você me indicou dentro de um script? Daria certo?

#!/bin/bash
read link #link como parâmetro
rm *.jpg* #remove a imagem antiga do grub
wget $link #download na mesma pasta
echo "GRUB_BACKGROUND=" > VAR #Adiciona o texto a variavel VAR
find /Scripts/grub/ -name '*.jpg*' > VAR2 #localiza a imagem baixada .jpg
paste VAR VAR2 > /Scripts/grub/pastearq #junta as duas variaveis em um arquivo
sed -i 's/\t//g' pastearq #retira os espamentos e tabs
sed -i "36s/.*/`cat pastearq`/" /etc/default/grub #substituir a linha 36 do arquivo /etc/default/grub

Gostaria de saber se daria certo deste jeito, ou se estou pecando em algum lugar...
Atenciosamente,




9. Re: Comando para retirar os espaços

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/04/2017 - 15:31h

murilostersi escreveu:
Eu consigo colocar este comando que você me indicou dentro de um script? Daria certo?

#!/bin/bash
read link #link como parâmetro
rm *.jpg* #remove a imagem antiga do grub
wget $link #download na mesma pasta
echo "GRUB_BACKGROUND=" > VAR #Adiciona o texto a variavel VAR
find /Scripts/grub/ -name '*.jpg*' > VAR2 #localiza a imagem baixada .jpg
paste VAR VAR2 > /Scripts/grub/pastearq #junta as duas variaveis em um arquivo
sed -i 's/\t//g' pastearq #retira os espamentos e tabs
sed -i "36s/.*/`cat pastearq`/" /etc/default/grub #substituir a linha 36 do arquivo /etc/default/grub

Gostaria de saber se daria certo deste jeito, ou se estou pecando em algum lugar...
Atenciosamente,



Segue uma sugestão, se entendi bem o que você deseja fazer...

#!/bin/bash

if [ $# -ne 1 ]; then
echo "Como executar: $ sudo ./script.sh link-para-download"
exit
fi

#Coloque em "DIR=" o caminho completo para pasta de download da imagem
DIR=/local/IMG
rm $DIR/*.jpg
wget -P $DIR $1

# Edição do arquivo
if [ $? -eq 0 ]; then
IMG=`find $DIR -type f -iname "*.jpg"`
VAR=`echo "GRUB_BACKGROUND=$IMG"`
sed -i "36s|.*|$VAR|" /etc/default/grub
echo "Operação realizada com sucesso!"
else
echo "Algo deu errado!"
exit
fi








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts