• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

j0mi

[Bash Shell]Atribuir mais um campo a um ficheiro

1 mensagem neste tópico

Boas!

A minha dúvida é a seguinte:

Tenho um programa em bash shell sobre a gestão de um cinema a seguir mostro a função que guarda a informação de um filme deste modo (resumido):

if cut -d@ -f1 filmes.xxx 1> /dev/null|grep -q $nome
then clear
     echo -e "-> ERRO <-"
     echo -e "-> O filme com o nome $nome ja existe na base de dados <-"
     read -s -n1 -p "   Prima qualquer tecla para continuar" tecla
     inserir_filme

else echo -n -e "\t Ano: "
     read ano
     echo -n -e "\t Realizador: "
     read realizador
     echo -n -e "\t Actores principais: "
     read actores
     echo -n -e "\t Duracao: "
     read duracao
     echo -n -e "\t Genero: "
     read genero
     echo -n -e "\t Em exibicao a partir de: "
     read exibicao
fi
echo "$nome@$realizador@$actores@$duracao@$genero@$exibicao@" >> filmes.xxx

Agora tenho que fazer associar uma sala do cinema a esse filme em exibição, mas não consigo, alguém me sabe ajudar? Aqui fica o código da função para atribuir a sala:

function atribuir_sala {
clear
echo -e "Atribuir sala a filme\n"
echo -n "Nome do filme --> "
read nome
if cut -d@ -f1 filmes.xxx|grep -q ^$nome$ 2>/dev/null
then echo -n
else clear
     echo -e "-> ERRO <-"
     echo -e "-> O filme com o nome $nome não existe na base de dados <-"
     read -s -n1 -p "   Prima qualquer tecla para continuar" tecla
     atribuir_sala
fi

linha=`cut -d@ -f1 filmes.xxx|grep -n $nome|cut -d@ -f1`
linha2=`echo -n $linha|cut -d: -f1`
filme=`sed -n "$linha2"p filmes.xxx`
sala=`echo $filme|cut -d@ -f7` 

echo -n "Numero da sala que deseja atribuir ao filme $nome --> "
read sala

echo -e "Sala $sala atribuida ao filme $nome"
echo -e "Prima qualquer tecla para continuar..." 
read qqtecla
filmes #é apenas para voltar ao menu inicial da gestão dos filmes

Não consigo perceber que estou a fazer mal  :wallbash:

Já experimentei aquando da criação do registo de um filme colocar no fim o campo $sala e depois alterar na função que indico mas também não deu nada...

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora