sed com escolha da linha de acordo com parâmetro recebido.[RESOLVIDO]

1. sed com escolha da linha de acordo com parâmetro recebido.[RESOLVIDO]

ricardo souza
ricardo2sba

(usa Ubuntu)

Enviado em 22/03/2016 - 14:37h

Boa tarde pessoal, estou com uma dúvida e gostaria muito da ajuda da comunidade.

Gostaria de selecionar x linha de um texto, mas é possível selecionar a linha de acordo com um parâmetro recebido ou a medida que o laço for incrementado?

Com o código abaixo consigo copiar corretamente a linha 1 da coluna 2 do arquivo texto,

SENHA=$(cat /home/tcc/Desktop/contas | cut -f2 -d',' | sed -n '1p')

porém minha ideia é onde tem sed -n '1p', esse valor 1, poder ser alterado a medida que o laço for incrementado.
por exemplo algo como:

echo "Informe a quantidade:"

read QT

for ((loop=0;loop<$QT;loop++));do

SENHA=$(cat /home/tcc/Desktop/contas | cut -f2 -d',' | sed -n '$loopp')


Assim não funciona, mas tem como a linha ser alterada de acordo com o valor armazenado no loop?

Obrigado



  


2. Re: sed com escolha da linha de acordo com parâmetro recebido.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 22/03/2016 - 15:11h

ricardo2sba escreveu:

Boa tarde pessoal, estou com uma dúvida e gostaria muito da ajuda da comunidade.

Gostaria de selecionar x linha de um texto, mas é possível selecionar a linha de acordo com um parâmetro recebido ou a medida que o laço for incrementado?

Com o código abaixo consigo copiar corretamente a linha 1 da coluna 2 do arquivo texto,

SENHA=$(cat /home/tcc/Desktop/contas | cut -f2 -d',' | sed -n '1p')

porém minha ideia é onde tem sed -n '1p', esse valor 1, poder ser alterado a medida que o laço for incrementado.
por exemplo algo como:

echo "Informe a quantidade:"
read QT

for ((loop=0;loop<$QT;loop++));do
SENHA=$(cat /home/tcc/Desktop/contas | cut -f2 -d',' | sed -n '$loopp')
Assim não funciona, mas tem como a linha ser alterada de acordo com o valor armazenado no loop?
Obrigado


-----------------------------------------------------------------------
Boa tarde Ricardo.
Tem sim.
Segue o código:

read -p " Informe a quantidade: " QT
for ((N=1;N<="$QT";N++));do
sed -n "$N"p /home/tcc/Desktop/contas | cut -d"," -f2
#awk -F"," 'NR=='$N' { print $2}' /home/tcc/Desktop/contas # Pode usar o awk.... #A titulo de curiosidade
done

O seu não funcionou, pelos seguintes motivos:
loop=0 # Não existe LINHA 0
'$loopp' # Nome da var está incorreto e entre 'aspas simples'
, que, neste caso não resolve a VAR.
Já fiz muito disso ..... Rsrsrs

Se resolver, marque como resolvido, por favor.
Gostando da resposta, marque-a como MELHOR, dessa forma, ganho uns pontinhos,
o que incentiva a continuar colaborando, ajudando, participando e compartilhando conhecimentos . . . :)

Att.:
Marcelo






3. Re: sed com escolha da linha de acordo com parâmetro recebido.[RESOLVIDO]

ricardo souza
ricardo2sba

(usa Ubuntu)

Enviado em 23/03/2016 - 12:49h

----------------------------------------------------------------------
Boa tarde Ricardo.
Tem sim.
Segue o código:

read -p " Informe a quantidade: " QT
for ((N=1;N<="$QT";N++));do
sed -n "$N"p /home/tcc/Desktop/contas | cut -d"," -f2
#awk -F"," 'NR=='$N' { print $2}' /home/tcc/Desktop/contas # Pode usar o awk.... #A titulo de curiosidade
done

O seu não funcionou, pelos seguintes motivos:
loop=0 # Não existe LINHA 0
'$loopp' # Nome da var está incorreto e entre 'aspas simples'
, que, neste caso não resolve a VAR.
Já fiz muito disso ..... Rsrsrs

Se resolver, marque como resolvido, por favor.
Gostando da resposta, marque-a como MELHOR, dessa forma, ganho uns pontinhos,
o que incentiva a continuar colaborando, ajudando, participando e compartilhando conhecimentos . . . :)

Att.:
Marcelo

[/quote]

Marcelo, Bom dia!

Muito obrigado pela ajuda. Resolveu meu problema.

Estou começando agora com script, e precisando dele para o meu TCC.
Ainda vou bater muito a cabeça, com essas particularidades dele! rsrs

Mais uma vez obrigado!





4. Re: sed com escolha da linha de acordo com parâmetro recebido.[RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 23/03/2016 - 18:32h

ricardo2sba escreveu:

----------------------------------------------------------------------
Boa tarde Ricardo.
Tem sim.
Segue o código:

read -p " Informe a quantidade: " QT
for ((N=1;N<="$QT";N++));do
sed -n "$N"p /home/tcc/Desktop/contas | cut -d"," -f2
#awk -F"," 'NR=='$N' { print $2}' /home/tcc/Desktop/contas # Pode usar o awk.... #A titulo de curiosidade
done

O seu não funcionou, pelos seguintes motivos:
loop=0 # Não existe LINHA 0
'$loopp' # Nome da var está incorreto e entre 'aspas simples'
, que, neste caso não resolve a VAR.
Já fiz muito disso ..... Rsrsrs

Se resolver, marque como resolvido, por favor.
Gostando da resposta, marque-a como MELHOR, dessa forma, ganho uns pontinhos,
o que incentiva a continuar colaborando, ajudando, participando e compartilhando conhecimentos . . . :)

Att.:
Marcelo


Marcelo, Bom dia!
Muito obrigado pela ajuda. Resolveu meu problema.
Estou começando agora com script, e precisando dele para o meu TCC.
Ainda vou bater muito a cabeça, com essas particularidades dele! rsrs
Mais uma vez obrigado!
[/quote]
------------------------------------
Boa noite ricardo2sba.
De nada!!!
Gostando da resposta, marque-a como MELHOR, dessa forma, ganho uns pontinhos,
o que incentiva a continuar colaborando, ajudando, participando e compartilhando conhecimentos . . . :)

att.:
Marcelo







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts