Использование grep regex для выбора первого дефиса - PullRequest
0 голосов
/ 25 апреля 2019
echo "Linux/DEB/mainbinary-0.1.20190424165331-0-armdef.deb" | grep -oE "([^\/]+$)"

Это печатает только имя файла без структуры каталогов, но мне не удается распечатать только основной файл из этой строки.Предложения? * * 1002

Ответы [ 3 ]

2 голосов
/ 25 апреля 2019

И sed альтернатива великому PS. grep -oP

echo "Linux/DEB/mainbinary-0.1.20190424165331-0-armdef.deb"  |sed -r 's#^.*/([^-]+).*#\1#'
mainbinary
2 голосов
/ 25 апреля 2019
echo "Linux/DEB/mainbinary-0.1.20190424165331-0-armdef.deb"  |grep -oP '.*/\K[^-]+'
mainbinary

Это будет сканировать до последнего /, игнорировать все слева и продолжать двигаться до - (исключая)

1 голос
/ 25 апреля 2019

С любым awk в любой оболочке на любой машине UNIX:

$ echo "Linux/DEB/mainbinary-0.1.20190424165331-0-armdef.deb" | awk -F'[/-]' '{print $3}'
mainbinary
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...