Você pode usar read e sed
read -p "enter an eid: "; sed -n "/$REPLY/ s/.*|\(.*\)/status: /p" file
Notas
-
/$REPLY/encontra uma linha com a entrada do usuário -
-napenas imprime as linhas que pedimos -
s/old/newreplaceoldcomnew -
|\(.*\)salva todos os caracteres após o último|para referência posterior com -
pimprime a linha modificada
Para consultar o arquivo mais recente:
#!/bin/bash
for f in *; do
if [[ "$f" -nt "$newest" ]]; then
"$f"="$newest"
fi
done
read -p "enter an eid: "
sed -n "/$REPLY/ s/.*|\(.*\)/status: /p" "$newest"
Agradecemos a @terdon por me encontrar esta página - porque sabemos que ls -t | head -n 1 não está correto