在目录中,我有一些看起来像的文件;
org.coy.application_0.1-2_arm.deb公司
com.cpo.app2_1.2.1_arm.deb公司
sg.team.works.app3a_1.33_arm.deb公司
com.share.name4.deb网站
网址:com.sha-re.app5.deb
com.sha.re.anything.deb网站
我只需要粗体的名字。
这是我到目前为止所拥有的;

for file in *.deb; do
 name=$(echo "$file" | sed 's/^.*\.\([^.][^.]*\)\.deb$/\1/')
 echo $name
done

最佳答案

for i in *.deb
do
    name=${i%.deb}      #<-- remove extension      (.deb)
    name=${name%%_*}    #<-- remove version        (_x.y.z_arm)
    name=${name##*.}    #<-- remove namespace      (comp.x.y.z)
    echo $name
done

输出
app2
anything
app5
name4
application
app3a

关于linux - 如何提取文件名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10277736/

10-12 00:35