Ajuda com IF [RESOLVIDO]

1. Ajuda com IF [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 10/10/2019 - 15:54h

Pessoas ... como faço esse parâmetro do IF ??

#!/bin/bash
while read LIN;do
if [ $LIN começar com [0-9] ]; then
echo "$LIN;$LIN" >> arq2.txt
else
echo "$LIN" >> arq2.txt
fi
done < arq1.txt



  


2. MELHOR RESPOSTA

Matheus
pylm

(usa Gentoo)

Enviado em 10/10/2019 - 16:02h


Podes usar o asterisco.


[[ $LIN == [0-9]* ]]


3. Re: Ajuda com IF [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 11/10/2019 - 01:24h


Mauriciodez escreveu:
Pessoas ... como faço esse parâmetro do IF ??

#!/bin/bash
while read LIN;do
if [ $LIN começar com [0-9] ]; then
echo "$LIN;$LIN" >> arq2.txt
else
echo "$LIN" >> arq2.txt
fi
done < arq1.txt


Mauricio, vi que está como resolvido, mas, seguem algumas opções ....
awk '{if(/^[0-9]+/) print $0" * "$0;else print $0}' texto.txt >> arq2.txt
#Obs.: * "COLOQUE O SEPARADOR utilizado, se NECESSÁRIO"

Com o "condicional reduzido".
#!/bin/bash
while read LIN;do
[[ $LIN =~ ^([0-9]+) ]] && echo "${LIN}${LIN}" >> arq2.txt || echo "${LIN}" >> arq2.txt
done<arq1.txt

Mais reduzida ainda, sem condicional, o "sed" é PH_DA!
sed 's/^[0-9].*$/&&/' arq1.txt >> arq2.txt 

Esse é o sed papagaio.....
N="& & & & & & & & & &"
echo -n "VivaoLinux"|sed "s/[[:alpha:]]\+/$N/"

Att.: Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts