Печать последнего элемента каждой строки

Как можно напечатать элемент после последней вкладки в файле?

Пример: Файл1

A 3 8 6 7 B 4 6 2 3 6 8 c 1 9 

вернется:

 7 8 9 

5 Solutions collect form web for “Печать последнего элемента каждой строки”

Вы можете разумно использовать переменную NF в awk

 awk '{print $NF}' File1 

От man awk

NF Число полей в текущей входной записи.

Таким образом, NF предоставит вам количество полей, а $NF затем расширится до $3 например, вы можете использовать в заявлении печати.

Если вы хотите только последнее поле, а не первое и последнее, вы можете попробовать:

 rev file | cut -f 1 

rev инвертирует каждую строку файла, а cut печатает только первое поле (поля по умолчанию задаются вкладками). Поскольку линия была обращена вспять, первое поле является исходным последним полем.

Вышеизложенное работает в вашем примере, но, как указывает @Bernhard ниже, он будет печатать поля, длина которых больше, чем один символ. В этих случаях вам понадобится второй rev:

  rev file | cut -f 1 | rev 

Вы можете использовать sed для такой операции:

 sed 's/.* //' file # where ' ' -- is your delimiter 

Он удалит все символы перед разделителем. Если ваш файл разделен на вкладку, используйте:

 sed 's/.*\t//' file 

Ответ Бернхарда правильный. Для удовольствия и полноты, bash:

 while read -a fields; do echo ${fields[-1]} done < file 

awk – действительно инструмент для работы здесь, но для полноты здесь есть способ GNU grep

 grep -oE '[^[:space:]]+$' file 7 8 9 
  • Показывать сумму файлов в списке каталогов
  • Вставить строку после сопоставления строки в sshd внутри pam.d
  • awk условие true и false
  • Используйте sed или awk для замены текста между столбцами
  • Удалять заголовки и содержимое из плоского файла, если они находятся ниже определенного количества строк
  • Распечатайте строку только в том случае, если следующая строка НЕ ​​содержит определенное совпадение
  • Я хочу скопировать строки из одного текстового файла в другой, если он содержит определенный шаблон
  • Простая функция обертки awk или псевдоним
  • После небольшого изменения кода «awk» печатает заголовок и пустые строки (не повторяется заголовок)
  • Подсчитайте число 0 и 1 в файле
  • Совмещение двух основных столбцов одновременно между файлами и вставка дополнительных столбцов в выходной файл, когда эти основные столбцы соответствуют
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.