Comando de script para ler arquivo texto e colocar resultado da variável em uma pasta ou link [RESOL

1. Comando de script para ler arquivo texto e colocar resultado da variável em uma pasta ou link [RESOL

Éderson Gomes
edersongs

(usa Ubuntu)

Enviado em 15/11/2017 - 06:50h

Tô precisando de uma ajudinha para um script:

Suponhamos que tenha um arquivo texto de nome versoes.txt e dentro dele a indicação das versões de vários Softwares, ex:
LibreOffice=5.4.3
PopCornTime=0.3.4
Handbrake=1.0.1

Quero um script que leia esse arquivo e coloque no local correto somente a versão do software. ex: criar um diretório com o nome dele:
mkdir -p ~/Pasta_da_versao_$PopCornTime
(no lugar de $PopCornTime viria somente a versão 0.3.4 indicada no arquivo txt)

O comando cat versoes.txt lê o arquivo mas como fazer para que o script coloque apenas a versão do que foi indicado?

Isso tudo foi só um exemplo para o que quero.

PS: Como se chama essa ligação quando usamos o símbolo $?

Obrigado!


  


2. Re: Comando para ler arquivo texto e colocar resultado em script

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 15/11/2017 - 10:43h

Testa assim:
versao=`grep PopCornTime versoes.txt | cut -d'=' -f2`
mkdir -p /caminho/para/$versao

$ neste caso indica uma variável


3. Re: Comando de script para ler arquivo texto e colocar resultado da variável em uma pasta ou link

Éderson Gomes
edersongs

(usa Ubuntu)

Enviado em 15/11/2017 - 13:15h

Ryuk escreveu:

Testa assim:
versao=`grep PopCornTime versoes.txt | cut -d'=' -f2`
mkdir -p /caminho/para/$versao

$ neste caso indica uma variável


O comando funcionou porém apenas com uma variável mas não com mais de uma.

Exemplo
Arquivo codename_version.txt com o várias variáveis, ex::
CODENAME=xenial
VERSION=16.04
CODENAMEMINT=sonya


CODENAME=`grep CODENAME codename_version.txt | cut -d'=' -f2`
VERSION=`grep VERSION codename_version.txt | cut -d'=' -f2`
CODENAMEMINT=`grep CODENAMEMINT codename_version.txt | cut -d'=' -f2`
mkdir -p ~/$CODENAME_$VERSION_$CODENAMEMINT

Neste caso ele pega o resultado apenas da última variável, no caso, CODENAMEMINT.

Preciso que ele leia e use várias (mais que duas) variáveis em um único comando. Por isso pensei em algo que guardasse o resultado do cat, não sei, foi apenas uma ideia.

OBS: Lembro que o que tenho descrito são apenas exemplos pequenos para facilitar a ajuda.


4. Re: Comando de script para ler arquivo texto e colocar resultado da variável em uma pasta ou link

Éderson Gomes
edersongs

(usa Ubuntu)

Enviado em 15/11/2017 - 23:04h

Consegui!
Precisava colocar as variáveis entre aspas, só isso!

Arquivo codename_version.txt com o várias variáveis, ex::
CODENAME=xenial
VERSION=16.04
CODENAMEMINT=sonya

CODENAME_UBUNTU=`grep CODENAME_UBUNTU codename_version.txt | cut -d'=' -f2`
VERSION_UBUNTU=`grep VERSION_UBUNTU codename_version.txt | cut -d'=' -f2`
CODENAME_MINT=`grep CODENAME_MINT codename_version.txt | cut -d'=' -f2`

mkdir -p ~/"$CODENAME_UBUNTU"_"$VERSION_UBUNTU"_"$CODENAME_MINT"






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts