Вы можете сделать это с помощью простой команды awk
для печати содержимого последнего столбца и использования нескольких пробелов в качестве разделителя полей. Поскольку разделителем по умолчанию в awk
является одиночное белое пространство -, его использование непосредственно в последнем столбце приведет к разделению содержимого последнего столбца. Условие NR>
обеспечивает пропуск первой строки при применении фактических действий, определенных для awk
.
awk -F '[[:space:]][[:space:]]+' 'NR>1{print $NF}' file
или также используя sed
, предполагая несколько пробелов между столбцами и слова, разделенные столбцами только в последнем столбце.
sed '1d;s/^.* //' file
ОП, по-видимому, повторно -сформулировал вопрос, чтобы сбросить вывод команды столбца last
, из которой они хотели получить последний вывод столбца.Поскольку сами промежуточные столбцы могут иметь пробелы, мы сопоставляем столбец, содержащий название дня, и печатаем оттуда до конца строки, т.е.
last | awk ' {
for( i=1;i<=NF;i++ ) {
if ( $i ~ /Mon|Tue|Wed|Thu|Fri|Sat|Sun/ ) {
j = 0
str = ""
for ( j=i; j<=NF;j++ ) {
str = ( str ? (str FS $j):$j )
}
print str
break
}
}
}'
Ответ (, предоставленный @Freddy ), был доступен в онлайн-документации:
-sPageList=1