Remover aspas simples [RESOLVIDO]

1. Remover aspas simples [RESOLVIDO]

luiz
luizsouza99

(usa Linux Mint)

Enviado em 17/01/2016 - 00:51h

As aspas duplas até consigo remover e aspas simples de "outro modelo"
cat $HOME/.texto2 | sed 's/“//g' | sed 's/”//g' | sed 's/‘//g' > $HOME/.texto

Mas as aspas simples que digitamos no pluma (aquela que fica reta) eu nao consigo removê-las,
até consegui com o tr, mas ele está dando pau no arquivo (Erro inesperado: Invalid UTF-8 sequence in input).

Estou tentando remover todos os caracteres especiais e está faltando só este.

Obrigado.




  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 18/01/2016 - 11:36h

luizsouza99 escreveu:

Deu certo, dei o comando: cat $HOME/texto | sed "s/'//g" e funcionou, antes eu estava colocando sed 's/'//g' e por isso não funcionava.

Muito obrigado!

outra coisa, estou removendo vários símbolos, tem como os comandos abaixo ficarem menores?

1 cat $HOME/texto | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚ/aAaAaAaAeEeEiIoOoOoOuU/' > $HOME/.texto
2 cat $HOME/.texto | sed 'y/ABCDEFGHIJKLMNOPQRSTUVXZYWK/abcdefghijklmnopqrstuvxzywk/' > $HOME/.texto2
3 cat $HOME/.texto2 | sed 's/“//g' | sed 's/”//g' | sed 's/"//g' > $HOME/.texto
4 cat $HOME/.texto | sed 's/‘//g' | sed 's/–//g' > $HOME/.texto2
5 cat $HOME/.texto2 | sed 's/[.]//g' | sed 's/[$]//g' | sed 's/[}]//g' | sed 's/[{]//g' > $HOME/.texto
6 cat $HOME/.texto | sed 's/-//g' | sed 's/*//g' | sed 's/_//g' | sed 's/,//g' | sed 's/[•]//g' > $HOME/.texto2
7 cat $HOME/.texto2 | sed 's/ / /g' | sed 's/ / /g' | sed 's/(//g' | sed 's/&//g' > $HOME/.texto
8 cat $HOME/.texto | sed 's/!//g' | sed 's/?//g' | sed 's/@//g' | sed 's/#//g' > $HOME/.texto2
9 cat $HOME/.texto2 | sed 's/(//g' | sed 's/)//g' | sed 's/=//g' | sed 's/§//g' > $HOME/.texto
10 cat $HOME/.texto | sed 's/<//g' | sed 's/>//g' | sed 's/://g' | sed 's/;//g' > $HOME/.texto2
11 cat $HOME/.texto2 | egrep -v "^$" > $HOME/.texto

estou usando um sed para cada simbolo, porque estou trocando por nada, e por nada não consegui fazer algo mais compacto. Obrigado!


Bom dia Luiz.
Justamente, se quer trocar o ' usa "
Vamos lá...

Item 01
sed -i 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚ/aAaAaAaAeEeEiIoOoOoOuU/' $HOME/.texto
Obs: Use -i, para alterar o arquivo.

OBS:
Uma forma de reduzir esse comando é, primeiramente converter para minuscula, conforme mostrado no ITEM 2.
Ficaria:
sed -i 'y/áàãâéêíóõôú/aaaaeeiooou/' $HOME/.texto



Item 02 (reduziu bastante . . . )
sed -i 's/\([A-Z]\)/\L&/g' HOME/.texto2
Traduzindo:
Caso a letra MAIÚSCULA \([A-Z]\), pego o que "casou" & e altero para MINUSCULA \L

ITENS 3, 4 e outros que tenham pontuação

sed -i 's/[[:punct:]]//g' ARQUIVO.txt
Exemplo:
echo "(+*][Debian[ Linux?/:;][.,)"
(+*][Debian[ Linux?/:;][.,)
echo "(+*][Debian[ Linux?/:;][.,)"|sed 's/[[:punct:]]//g'
Debian Linux


OPS!!!!
Pelo que tudo indica, você quer somente letras....
Então vamos direto ao assunto.....
EXEMPLO:
echo "(+*][D#@ebian[ L=+inux?/:;][.,) é o \$#S.*(O. que &eu U*8TIL\&I,<Z;:/?O"|sed 's/[^[:alpha:] ]//g'
Saída:
Debian Linux é o SO que eu UTILIZO

Traduzindo, o que não é Letra, troque por nada!
Depois troque para minuscula.
OBS.: Se te ajudei, marque como resolvido e "melhor resposta" :)

Att.:
Marcelo




3. Re: Remover aspas simples

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/01/2016 - 19:37h

Boa noite Luiz.
Faça assim:
echo -e "'Debian Linux'"|sed "s/'//g" 

Testei aqui e funcionou...

Att.:
Marcelo


4. Re: Remover aspas simples [RESOLVIDO]

luiz
luizsouza99

(usa Linux Mint)

Enviado em 17/01/2016 - 22:30h

Deu certo, dei o comando: cat $HOME/texto | sed "s/'//g" e funcionou, antes eu estava colocando sed 's/'//g' e por isso não funcionava.

Muito obrigado!

outra coisa, estou removendo vários simbolos, tem como os comandos abaixo ficarem menores?

cat $HOME/texto | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚ/aAaAaAaAeEeEiIoOoOoOuU/' > $HOME/.texto
cat $HOME/.texto | sed 'y/ABCDEFGHIJKLMNOPQRSTUVXZYWK/abcdefghijklmnopqrstuvxzywk/' > $HOME/.texto2
cat $HOME/.texto2 | sed 's/“//g' | sed 's/”//g' | sed 's/"//g' > $HOME/.texto
cat $HOME/.texto | sed 's/‘//g' | sed 's/–//g' > $HOME/.texto2
cat $HOME/.texto2 | sed 's/[.]//g' | sed 's/[$]//g' | sed 's/[}]//g' | sed 's/[{]//g' > $HOME/.texto
cat $HOME/.texto | sed 's/-//g' | sed 's/*//g' | sed 's/_//g' | sed 's/,//g' | sed 's/[•]//g' > $HOME/.texto2
cat $HOME/.texto2 | sed 's/ / /g' | sed 's/ / /g' | sed 's/(//g' | sed 's/&//g' > $HOME/.texto
cat $HOME/.texto | sed 's/!//g' | sed 's/?//g' | sed 's/@//g' | sed 's/#//g' > $HOME/.texto2
cat $HOME/.texto2 | sed 's/(//g' | sed 's/)//g' | sed 's/=//g' | sed 's/§//g' > $HOME/.texto
cat $HOME/.texto | sed 's/<//g' | sed 's/>//g' | sed 's/://g' | sed 's/;//g' > $HOME/.texto2
cat $HOME/.texto2 | egrep -v "^$" > $HOME/.texto

estou usando um sed para cada simbolo, porque estou trocando por nada, e por nada não consegui fazer algo mais compacto. Obrigado!


5. Re: Remover aspas simples [RESOLVIDO]

luiz
luizsouza99

(usa Linux Mint)

Enviado em 18/01/2016 - 15:23h

Excelente cara, com certeza é a melhor resposta, já vou marcar como resolvido, eu só preciso que o comando não elimine os numeros, se eu conseguisse entender esse comando eu mesmo modificava, mas não consegui. Muito obrigado, simplificou demais o meu script.


6. Re: Remover aspas simples [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/01/2016 - 15:42h

Também usa-se 's\'//g'

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



7. Re: Remover aspas simples [RESOLVIDO]

luiz
luizsouza99

(usa Linux Mint)

Enviado em 18/01/2016 - 22:50h

listeiro este comando deixa o resto do script como se fosse texto anulando-o.

msoliver mais uma vez muito obrigado, fucei aqui no site dos gringos e consegui adicionar a parte dos numeros que falei acima, a parte do meu script relacionada a esses comandos ficou assim:

cat $HOME/texto | egrep -v "^$" > $HOME/.texto # tira os espaços vazios
sed -i 's/[^[:alpha:] [:digit:] ]//g' $HOME/.texto # deixa apenas os alpha numericos
sed -i 's/\([A-Z]\)/\L&/g' $HOME/.texto # joga para miuscula
sed -i 'y/áàãâéêíóõôú/aaaaeeiooou/' $HOME/.texto # retira os acentos


Valew!


8. Re: Remover aspas simples [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/01/2016 - 22:54h

luizsouza99 escreveu:

listeiro este comando deixa o resto do script como se fosse texto anulando-o.

msoliver mais uma vez muito obrigado, fucei aqui no site dos gringos e consegui adicionar a parte dos numeros que falei acima, a parte do meu script relacionada a esses comandos ficou assim:

cat $HOME/texto | egrep -v "^$" > $HOME/.texto # tira os espaços vazios
sed -i 's/[^[:alpha:] [:digit:] ]//g' $HOME/.texto # deixa apenas os alpha numericos
sed -i 's/\([A-Z]\)/\L&/g' $HOME/.texto # joga para miuscula
sed -i 'y/áàãâéêíóõôú/aaaaeeiooou/' $HOME/.texto # retira os acentos


Valew!


Tá certo.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



9. Resp: . . .

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 21/01/2016 - 15:03h

Boa tarde Luiz, estava "meio enrolado" esses dias, nem entrei no VOL.

No lugar de:
sed -i 's/[^[:alpha:] [:digit:] ]//g' $HOME/.texto # deixa apenas os alpha numéricos 

Você pode usar:
sed -i 's/[^[:alnum:] ]//g' $HOME/.texto # "casa" letras, números e espaços (entre as palavras ) 


Esse [alnum], eu peguei daqui: :)
Clase POSIX:
POSIX similar significa
-----------------------------------------
[:upper:] [A-Z] letras maiúsculas
[:lower:] [a-z] letras minúsculas
[:alpha:] [A-Za-z] maiúsculas/minúsculas
[:alnum:] [A-Za-z0-9] letras e números
[:digit:] [0-9] números
[:xdigit:] [0-9A-Fa-f] números hexadecimais
[:punct:] [.,!?:...] sinais de pontuação
[:blank:] [ \t] espaço e TAB
[:space:] [ \t\n\r\f\v] caracteres brancos
[:cntrl:] - caracteres de controle
[:graph:] [^ \t\n\r\f\v] caracteres imprimíveis
[:print:] [^\t\n\r\f\v] imprimíveis e o espaço


Apagar linhas em branco:
No lugar de:
cat $HOME/texto | egrep -v "^$" > $HOME/.texto # tira os espaços vazios 

Use:
sed -i '/^$/d' ARQUIVO.txt 


Você citou que queria reduzir os comandos . . . :)


Att.:
Marcelo




10. Re: Remover aspas simples [RESOLVIDO]

luiz
luizsouza99

(usa Linux Mint)

Enviado em 21/01/2016 - 19:10h

O que estava ótimo ficou melhor ainda, muito obrigado, vou colocar estas duas linhas no script, valew.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts