是否有任何逻辑可以编写一个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。
答案 0 :(得分:0)
如果您需要rpm的包名称,请使用:
rpm -qp --queryformat '%{NAME}\n' *.rpm 2>/dev/null