如何在 bash 脚本中使用 (basename "${video%.*}") 获取文件名的一部分?

如何在 bash 脚本中使用 (basename "${video%.*}") 获取文件名的一部分?

我有一组名为 xxxyyys.mp4 的视频,每个文件名都以 s 结尾。我想执行一个脚本,该脚本仅接受 xxxyyy 之前的名称作为参数 basefile。

到目前为止,我所拥有的是

for video in folder/*
do 
  python script.py -i "${video%*.mp4}" --basefile $(basename "${video%.*}") 
done

我该如何编辑它才能仅获取截至 xxxyyy 的名称?

答案1

您可以使用:

"${video%s.*}"

这将删除从字符串的最后一个字符(包括最后一个字符)s.到字符串末尾的所有内容。

相关内容