Печать последнего столбца строки в файле
у меня есть файл, который постоянно записываются/обновляются. Я хочу найти последнюю строку, содержащую определенное слово, а затем распечатать последний столбец этой строки.
файл выглядит примерно так. Со временем к нему будет добавлено больше строк A1/B1/C1.
A1 123 456
B1 234 567
C1 345 678
A1 098 766
B1 987 6545
C1 876 5434
Я пытался использовать
tail -f file | grep A1 | awk '{print $NF}'
для вывода значения 766, но ничего не выводится.
есть ли способ сделать это?
8 ответов:
вы ничего не видите, из-за буферизации. Вывод отображается, когда достаточно строк или достигнут конец файла.
tail -fозначает ждать больше ввода, но нет больше строк вfileи так по трубе доgrepникогда не закрывается.если вы опустите
-fСtailвывод отображается сразу:tail file | grep A1 | awk '{print $NF}'
@EdMorton, конечно, прав. Awk поиск
A1а также, что сокращает командную строку кtail file | awk '/A1/ {print $NF}'или без хвоста, показывая последний столбец всех строк, содержащих
A1awk '/A1/ {print $NF}' file