如何在处理后删除文件

如何在处理后删除文件

我正在使用 mp3splt 将目录下的所有 .mp3 文件(包括子目录)分割成 30 分钟的片段。

find -name *.mp3 -print0 | xargs -0  mp3splt -t 30.00 -o @f_@m@s

分割完成后删除原始文件的最佳方法是什么?

答案1

创建chmod +x以下脚本mp3splt_and_delete.sh

#!/usr/bin/env bash
mp3splt -t 30.00 -o @f_@m@s "$@"
rm "$@"

然后你可以运行

find -name *.mp3 -print0 | xargs -0 /path/to/mp3splt_and_delete.sh

您也可以尝试类似下面的操作,但它会创建单独的调用mp3splt

find -name "*.mp3" -exec mp3split -t 30.00 -o @f_@m@s {} \; -a -delete

这需要mp3split返回退出代码0,表示成功。

答案2

作为快速修复,请尝试:

#!/bin/bash
for file in *.mp3
do
mp3splt -t 30.0.0 -o @f_@m@s "$file"
rm -f "$file"
done

相关内容