Se você estiver usando o linux, isso substituirá as novas linhas para +
awk '{printf "%s+",$0} END {print ""}'
ou com sed
sed ':a;N;$!ba;s/\n/+/g'
Estou enfrentando algum problema em relação ao meu script bash.
Abaixo está o meu código bash:
#!/bin/bash
cd /root/Msgs/TESTNEW/new
file=myfile.txt
var1=$(awk '(NR==30){print $2}' $file)
var2=$(awk 'NR>=38 && NR<=39' $file)
var3=${var2// /+}
curl "http://<server_ip>/power_sms/send_sms.php?username=<user>&password=<pass>phoneno=$var1&text=$var3"
Estes scripts propostos são para leitura em um intervalo de linha no arquivo particular (por exemplo: myfile.txt). Então, ele colocará o conteúdo do arquivo em alguma variável (var1, var2). Depois disso, a variável será chamada para as funções de onda.
Os problemas começam quando o conteúdo do arquivo tem espaçamento em cada nova linha. Isso faz com que a onda não funcione, pois não aceita caracteres de espaço em branco. Consegui substituir o espaçamento em mais símbolos. linha, ele terá espaçamento em vez de ter mais símbolo.
Algumas das saídas são as seguintes:
hi+there.hopefully+you+can+get+this+email+which+are being+send+as+sms.
Alguém pode me ajudar? Obrigado.
Se você estiver usando o linux, isso substituirá as novas linhas para +
awk '{printf "%s+",$0} END {print ""}'
ou com sed
sed ':a;N;$!ba;s/\n/+/g'
awk NF=NF RS= OFS=+
Resultado
hi+there.hopefully+you+can+get+this+email+which+are+being+send+as+sms.
EDIT: Para a solução com awk, você está procurando por isso:
awk 'BEGIN {RS=""}{gsub(/\n/,"",$0); print $0}' myfile.txt
Outro método para remover todas as novas linhas do seu arquivo:
tr -d "\n"
Um exemplo:
tr -d "\n" myfile.txt > myfilewithoutnewlines.txt
Você está fazendo isso da maneira errada. Você precisa codificar por URL seu texto para obter uma solução realmente universal:
Quando você faz isso e usa um texto como este:
This is
a test
text
você acaba com isso: This+is+%0d%0aa+test+%0d%0atext
.
Você pode usar curl
para fazer isso:
curl -G -d username=<user> -d password=<pass> -d phoneno=$var1 \
--data-urlencode [email protected] \
http://<server_ip>/power_sms/send_sms.php
Para mais informações, consulte man curl
.