针对mscx格式的文件,批处理替换页脚,并通过第三方plugin转成svg格式文件。
解压mscx
#!/bin/sh
#============ unzip the file ===========
Folder="/Users/ledka/Documents/scorebook/book/score"
for files in ${Folder}/*;
do
for file in ${files}/*;
do
file_name=`basename $file`
cd ${files}/$file_name
(
for unzip in ${files}/$file_name/*;
do
unzip_name=`basename $unzip`
unzip -o $unzip_name -d ~/Documents/bookzip
done
)
done
done
二级文件夹层级,循环解压到指定目录。
批处理查找替换
find /Users/ledka/Documents/bookzip/ -type f -exec sed -i "" "s/查找内容/替换内容/g" '{}' +
find /Users/ledka/Documents/scorebook/book/score/ -type f -exec sed -i "" "s;<metaTag name=\"platform\">.*<\/metaTag>;<metaTag name=\"platform\">mac<\/metaTag>;g" '{}' +
碰到的问题
sed: RE error: illegal byte sequence
// mac下需在终端执行命令export LC_COLLATE='C'
export LC_CTYPE='C'
循环删除目录中指定格式的文件
find /Users/ledka/Documents/scorebook/book/score/ -name "*.png" -exec rm -rf {} \;
文件路径文件名的空格问题
使用find命令解决或者批处理替换空格为指定字符
MuseScore插件转换
官网下载插件Batch Convert,批量转换成需要的文件格式。
也可以写程序自定义插件。