在目录中,我有一些看起来像的文件;
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/