是否有任何逻辑可以编写一个 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。
最佳答案
如果需要 rpm 的包名,请使用:
rpm -qp --queryformat '%{NAME}\n' *.rpm 2>/dev/null
关于linux - 如何在脚本中使用定界符来避免数字和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44513641/