Получите последнюю часть строки после дефиса

Возможно лучшие вещи, которые можно сделать, 1) Помнят, что Linux не является Windows и не всегда действует как он и 2) читаются документация менеджера окон, который Вы используете и не документация Linux.

Если Вы просто хотите быть пользователем, то чтение документов Linux не может быть тем, что Вы хотите. Удобные для пользователя дистрибутивы, как Монетный двор, могли бы иметь лучшие пользовательские документы, чем другие дистрибутивы, все же.

10
31.03.2015, 01:44
3 ответа

Вы можете использовать расширение параметра Bash :

string="foo-bar-123" && printf "%s\n" "${string##*-}"
123

Если вы хотите использовать другой процесс, с awk:

echo "foo-bar-123" | awk -F- '{print $NF}'

или, если вы предпочитаете SED:

echo "foo-bar-123" | sed 's/.*-//'

Более легкий внешний процесс, как Гленн Джекман предлагает :

cut -d- -f3 <<< "$string"
22
27.01.2020, 19:59
echo "foo-bar-123"| awk -F"-" '{print $3}' 
1
27.01.2020, 19:59
grep -Po '(?<=\w-)\w+(?=$|[\s.,])'
3
27.01.2020, 19:59

Теги

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