BASH - RESULTADO DO GREP COMO NOME DE ARQUIVO [RESOLVIDO]

1. BASH - RESULTADO DO GREP COMO NOME DE ARQUIVO [RESOLVIDO]

Luan Duarte
lu4ndu4rt3

(usa Ubuntu)

Enviado em 27/07/2017 - 03:02h

Olá pessoal, eu estou iniciando em bash e estou treinando em um script simples.

Meu objetivo é fazer com que o resultado de pesquisa com grep de um arquivo com varios nomes de computadores se torne o nome do meu arquivo, ex.:

grep sala= computadores.txt
sala=pc_do_jorje

nome_pc="grep sala= computadores.txt"
$nome_pc > $nome_pc.txt

o resultado criaria o .txt como:
pc_do_jorje.txt


  


2. MELHOR RESPOSTA

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 27/07/2017 - 13:51h

lu4ndu4rt3 escreveu:

Olá pessoal, eu estou iniciando em bash e estou treinando em um script simples.

Meu objetivo é fazer com que o resultado de pesquisa com grep de um arquivo com varios nomes de computadores se torne o nome do meu arquivo, ex.:

grep sala= computadores.txt
sala=pc_do_jorje

nome_pc="grep sala= computadores.txt"
$nome_pc > $nome_pc.txt

o resultado criaria o .txt como:
pc_do_jorje.txt


ta "mei" confuso a parada aí velho ... vou dar pitaco no que eu acho que entendi

computadores.txt
sala1=pc_do_marcos
sala2=pc_do_joao
sala3=pc_do_pedro
sala4=pc_do_jorge

script.sh
#!/bin/bash
nome=$(grep 1 computadores.txt | cut -d'=' -f 2)
touch $nome.txt

arquivo que vai ser criado "pc_do_marcos.txt"

Traduzindo
grep 1 computadores.txt >>> busca o numero 1 em computadores.txt
cut -d'=' -f 2 >>> retorna o que está depois de '='
touch $nome.txt >>> cria o arquivo '.txt' com o retorno da variável


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------


3. Re: BASH - RESULTADO DO GREP COMO NOME DE ARQUIVO [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/07/2017 - 15:06h

lu4ndu4rt3 escreveu:

Olá pessoal, eu estou iniciando em bash e estou treinando em um script simples.

Meu objetivo é fazer com que o resultado de pesquisa com grep de um arquivo com varios nomes de computadores se torne o nome do meu arquivo, ex.:

grep sala= computadores.txt
sala=pc_do_jorje

nome_pc="grep sala= computadores.txt"
$nome_pc > $nome_pc.txt

o resultado criaria o .txt como:
pc_do_jorje.txt


Boa tarde Duarte.
Se entendi corretamente, o script abaixo resolve . . . .
#!/bin/bash
read -p "INFORME o NOME do PC: " NOME
if grep "$NOME" computadores.txt > nome.temp;then
NOMEARQ=$(sed 's/.*/&.txt/' nome.temp)
touch $NOMEARQ
echo "CRIADO o ARQUIVO ${NOMEARQ}.txt"
else
echo "$NOMEARQ NÃO EXISTE"
fi


Onde:
cat computadores.txt
pc_da_Maria
pc_do_João
pc_do_Nikolas
pc_da_Sheila
pc_do_Jorge

É isso . . .

att.:
marcelo oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts