У меня есть несколько имен файлов, которые выглядят примерно так:
com.test. app1 .deb
com.heavy.test. app2 .deb
com.maybe-test. app3 .deb
com.crazy. app-4 .deb
Я хотел бы получить только строки, выделенные жирным шрифтом. пока что у меня есть это,
name=$(echo $file | sed 's!\(*.\)\(.*\).deb!\2!')
РЕДАКТИРОВАТЬ: у меня есть другие файлы в том же каталоге, которые будут называть что-то вроде;
com.company. name _1.0.2_arm.deb
В настоящее время мой код выглядит так:
for file in *.deb; do
name=$(echo "$file" | sed 's/^.*\.\([^.][^.]*\)\.deb$/\1/')
echo $name
done