如何在脚本中使用分隔符来避免数字和特殊字符

时间:2017-06-13 06:17:43

标签: linux shell unix sh

是否有任何逻辑可以编写一个shell脚本返回上一个目录,该目录有“n”个文件,如abc-1.0.1-xy.rpm,xyz-3.2.1-bc.rpm,a -bd-2.3.1-ty.rpm等..具有相同的模式。

在数字开始之前我需要它的第一个名字(它可以作为分隔符),即( - (0-9))可以是分隔符。输出应该是abc,xfz,a-bd等。

for p in *.rpm; do echo "${p%-*}"; done

我尝试使用此命令,但它会停止并输出为xyz-3.2.1。但我只需要xyz。

1 个答案:

答案 0 :(得分:0)

如果您需要rpm的包名称,请使用:

rpm -qp --queryformat '%{NAME}\n' *.rpm  2>/dev/null