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.
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
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
msoliverusa Debian
Post recolhido
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]
luizsouza99usa Linux Mint
Post recolhido
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]
luizsouza99usa Linux Mint
Post recolhido
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.
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]
luizsouza99usa Linux Mint
Post recolhido
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]
removidousa Nenhuma
Post recolhido
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
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: . . .
msoliverusa Debian
Post recolhido
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