首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在bash中通过管道或其他方式获取和重命名创建的文件

在bash中通过管道或其他方式获取和重命名创建的文件
EN

Stack Overflow用户
提问于 2012-12-20 12:33:12
回答 2查看 1.1K关注 0票数 2

第一个问题:

我是脚本编写行业的新手,但我一直在尝试使用youtube-dl自动下载和重命名youtube视频。我这样做只是为了学习更多关于bash脚本的技术练习。

我使用的命令是:

代码语言:javascript
复制
youtube-dl -il "<Youtube URL>" --extract-audio --audio-format "mp3" --audio-quality "192k"

(它将下载单个视频或获取播放列表并下载所有文件),这将创建以下格式的文件(示例):

代码语言:javascript
复制
Zedd - Spectrum (feat. Matthew Koma) (Culture_Code_Remix)-LCNwQVRN34.mp3

youtube URL的最后一个引用部分在末尾。

我已经写了一个脚本来批量重命名所有的文件,它的工作和如下所示:

代码语言:javascript
复制
#!/bin/bash
for i in *.mp3 ; do
   j=`echo $i | awk -F"-" '{print $1 "-" $2}'`
   mv "$i" "$j"
done

基本上它只是切断了最后一段,我的问题是,我如何才能以不同的格式将它放在最后,或者将它和第一个命令合并到单个脚本中,这样我就可以自动化整个过程?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-20 17:46:19

您可以使用-o选项将另一个文件名模板传递给youtube-dl:

代码语言:javascript
复制
youtube-dl -i "<Youtube URL>" -o "%(title)s.%(ext)s" \
            --extract-audio --audio-format "mp3" --audio-quality "192k"
票数 1
EN

Stack Overflow用户

发布于 2012-12-20 16:38:04

我建议您在play-list文件上运行for循环,并使用迭代变量作为youtube-dl的输入,然后进行mv处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13965370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档