Поиск последнего элемента в строке с помощью grep

это один из способов узнать, что у вас нет аргументов

NO_ARGS=0
if [ $# -eq "$NO_ARGS" ]; then
    {do something}
fi
12
25.01.2017, 20:25
3 ответа

Здесь:

grep -o '[^,]\+$'
  • [^ ,] \ + соответствует одному или нескольким символам, которые не являются , в конце строки ( $ )

  • -o печатает только совпадающую часть

Пример:

% grep -o '[^,]\+$' <<<'Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value'
Great Value
29
27.01.2020, 19:54

Всегда хотел видеть решение awk , вот оно (проголосовало за правильное решение!):

% awk -F, '{print $NF}'  <<<'Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value'
Great Value
17
27.01.2020, 19:54

Возможно, это даст желаемый результат

Команда:

#!/bin/bash
echo "Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value" | rev | awk -F',' '{ print $1 }' | rev

Выход:

Great Value

Проверено на этом сайте:https://rextester.com/KNMI75463

0
27.11.2020, 19:14

Теги

Похожие вопросы