使用grep regex选择第一个连字符

时间:2019-04-24 21:23:28

标签: regex linux grep

onOpen()

这仅打印文件名,不带目录结构,但是我无法从该字符串中仅打印mainbinary。有建议吗?

3 个答案:

答案 0 :(得分:2)

echo "Linux/DEB/mainbinary-0.1.20190424165331-0-armdef.deb"  |grep -oP '.*/\K[^-]+'
mainbinary

这将扫描到最后/,并忽略其左侧的所有内容,并继续移动直到-(不包括)

答案 1 :(得分:2)

还有sed替代PS。的出色grep -oP

echo "Linux/DEB/mainbinary-0.1.20190424165331-0-armdef.deb"  |sed -r 's#^.*/([^-]+).*#\1#'
mainbinary

答案 2 :(得分:1)

在任何UNIX计算机上的任何shell中使用任何awk:

$ echo "Linux/DEB/mainbinary-0.1.20190424165331-0-armdef.deb" | awk -F'[/-]' '{print $3}'
mainbinary