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 -
-n
apenas imprime as linhas que pedimos -
s/old/new
replaceold
comnew
-
|\(.*\)
salva todos os caracteres após o último|
para referência posterior com -
p
imprime 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