istnieje wiele sposobów. jak pokazuje awk
rozwiązanie, to jest czyste rozwiązanie
sed rozwiązaniem jest usunięcie czegokolwiek do ostatniego miejsca. Więc jeśli nie ma miejsca na końcu, to powinno działać
sed 's/.* //g' <file>
można uniknąć sed
również i pójść na while
pętli.
while read line
do [ -z "$line" ] && continue ;
echo $line|rev|cut -f1 -d' '|rev
done < file
odczytuje wiersz, przegląda go, obcina pierwszy (tj.Ostatnia w oryginale) i przywraca z powrotem
samo można zrobić w czystym sposób bash
while read line
do [ -z "$line" ] && continue ;
echo ${line##* }
done < file
nazywane jest ekspansja parametr
Twoja „druga linia” nie jest w drugiej linii z powodu pustych linii, proszę podać mniej dwuznaczne przykłady w przyszłości. –