首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重命名媒体文件。从文件名中删除特殊字符。目标是Filename=Title.filetype

重命名媒体文件。从文件名中删除特殊字符。目标是Filename=Title.filetype
EN

Stack Overflow用户
提问于 2022-05-21 08:06:57
回答 1查看 169关注 0票数 0

我正在四处游玩,测试我从这里收集到的一些想法,并浏览互联网来重命名目录上的一些媒体文件。我有过

代码语言:javascript
复制
printf "%s\n" *
01 - Concrete Jungle.flac
01. Easy.flac
03 - Last Goodbye.flac
05 - Movement in the Light.flac
05-rival_sons-feral_roots.flac
05. Songbird.flac
06 - The First Taste.flac
06. Led Zeppelin - Kashmir.flac
12 Crying Like A Church On Monday.flac
12.-The Way You Make Me Feel.flac
14. Blur - Tender (Zoë Ball XFM Session).flac
20. He Ain't Heavy, He's My Brother.flac
All By Myself - AnythingOldSchool.flac
rename.txt

我如何通过命令行重命名它们,以便

代码语言:javascript
复制
$ ls
Concrete Jungle.flac
Easy.flac
Last Goodbye.flac
Movement in the Light.flac
Feral Roots.flac
Songbird.flac
The First Taste.flac
Kashmir.flac
Crying Like A Church On Monday.flac
The Way You Make Me Feel.flac
Tender.flac
He Ain't Heavy, He's My Brother.flac
All By Myself.flac

我尝试将文件名复制到rename.txt中,并在管道命令中播放,例如

代码语言:javascript
复制
cat rename.txt | tr -d '0-9\\' | tr '.' ' ' | sed 's/ \([^ ]*\)$/.\1/'

看看我有什么--到目前为止我很喜欢它--但是我的想法已经没有了,我想知道如何重命名实际的文件。

EN

回答 1

Stack Overflow用户

发布于 2022-05-21 08:34:23

是你需要的吗?

代码语言:javascript
复制
$ cat sample.txt
01 - Concrete Jungle.flac
01. Easy.flac
03 - Last Goodbye.flac
05 - Movement in the Light.flac
05-rival_sons-feral_roots.flac
05. Songbird.flac
06 - The First Taste.flac
06. Led Zeppelin - Kashmir.flac
12 Crying Like A Church On Monday.flac
12.-The Way You Make Me Feel.flac
14. Blur - Tender (Zoë Ball XFM Session).flac
20. He Ain't Heavy, He's My Brother.flac
All By Myself - AnythingOldSchool.flac

$ sed 's/^[^[:alpha:]]*//' sample.txt
Concrete Jungle.flac
Easy.flac
Last Goodbye.flac
Movement in the Light.flac
rival_sons-feral_roots.flac
Songbird.flac
The First Taste.flac
Led Zeppelin - Kashmir.flac
Crying Like A Church On Monday.flac
The Way You Make Me Feel.flac
Blur - Tender (Zoë Ball XFM Session).flac
He Ain't Heavy, He's My Brother.flac
All By Myself - AnythingOldSchool.flac

让我们做一个重命名实验-创建两个脚本

  1. 通过script.sh从sample.txt创建文件

设置-e in="${1:-sample.txt}“!-f " $in”&& { echo "$0 -文件$in未找到“。;退出1;}当IFS=读取-r文件时,IFS=会回显”工作在$file上.“触摸"$file“完成< "${in}"

  1. 通过script2.sh重命名文件:

newFilename=$(sed‘s/^:alpha:*// <<< "$filename") mv "$filename“"$newFilename";do

然后在终端中尝试它们

代码语言:javascript
复制
$ ./script.sh
$ ls

01 - Concrete Jungle.flac                      06 - The First Taste.flac                      All By Myself - AnythingOldSchool.flac
01. Easy.flac                                  06. Led Zeppelin - Kashmir.flac                sample.txt
03 - Last Goodbye.flac                         12 Crying Like A Church On Monday.flac         script.sh
05 - Movement in the Light.flac                12.-The Way You Make Me Feel.flac              script1.sh
05-rival_sons-feral_roots.flac                 14. Blur - Tender (Zoë Ball XFM Session).flac
05. Songbird.flac                              20. He Ain't Heavy, He's My Brother.flac

$ ./script1.sh

$ ls -al

total 24
drwxr-xr-x  18 yao-nienyang  staff  576  5 21 19:23 .
drwxr-xr-x  28 yao-nienyang  staff  896  5 21 19:13 ..
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 All By Myself - AnythingOldSchool.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 Blur - Tender (Zoë Ball XFM Session).flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 Concrete Jungle.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 Crying Like A Church On Monday.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 Easy.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 He Ain't Heavy, He's My Brother.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 Last Goodbye.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 Led Zeppelin - Kashmir.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 Movement in the Light.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 Songbird.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 The First Taste.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 The Way You Make Me Feel.flac
-rw-r--r--   1 yao-nienyang  staff    0  5 21 19:13 rival_sons-feral_roots.flac
-rw-r--r--   1 yao-nienyang  staff  402  5 21 19:13 sample.txt
-rwxr-xr-x   1 yao-nienyang  staff  386  5 21 19:13 script.sh
-rwxr-xr-x   1 yao-nienyang  staff  213  5 21 19:13 script1.sh
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72327759

复制
相关文章

相似问题

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