Autor Zpráva
havran99
Profil
Ahojte mam txt subor a v nom:
marienka - janko
pernikova chalupka
matko - kubko 
salas

a pomocou bash scriptu sa snazim ked zadam marienka ma vypisat pernikova chalupka ale nevypise nic, ale ked zadam janko tak vypise pernikova chalupka
riesim to takto:
#! /bin/bash
id=$1

vystup=$(grep -A 1 "${id}$" /home/deti.txt | head -n 2 | tail -n 1)
echo ${vystup}

vie niekto aby mi aj po zadani marienka vypisalo pernikova chalupka?
Za pomoc dakujem.
mckay
Profil
havran99:
Je to tím extra znakem dollaru $ po použití proměnné id - grep k tomu přistupuje jako k regulárnímu výrazu a matchuje pouze takové řádky, které končí výrazem, který předáváte skriptu přes proměnnou $1 a posléze $id.

Opravíte to tím, že ten dollar znak za proměnnou odstraníte:

vystup=$(grep -A 1 "${id}" /home/deti.txt | head -n 2 | tail -n 1)
havran99
Profil
Dakujem, funguje to a pritom taka malickost.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0