[87].Hemi-Sync.-.Human Plus.-.Do This Now
[88].Hemi-Sync.-.Human Plus.-.Eat-No Eat
[89].Hemi-Sync.-.Human Plus.-.Eight Great
[90].Hemi-Sync.-.Human Plus.-.Hypertension
[91].Hemi-Sync.-.Human Plus.-.Immunizing
[92].Hemi-Sync.-.Human Plus.-.Imprint
[93.Update].Hemi-Sync.-.Human Plus.-.Let-Go
[94].Hemi-Sync.-.Human Plus.-.Lungs Repairs and Maintenance
[95].Hemi-Sync.-.Human Plus.-.Mobius West
[96].Hemi-Sync.-.Human Plus.-.Nutricia
[97].Hemi-Sync.-.Human Plus.-.Off-Loading
[98].Hemi-Sync.-.Human Plus.-.Pain Control
[130].Hemi-Sync.-.MindFood.-.Soft and Still
[131].Hemi-Sync.-.MindFood.-.The ''SO'' Chord
[132].Hemi-Sync.-.MindFood.-.The Way of Hemi-Sync
[133].Hemi-Sync.-.Explore the Original.-.Beyond the Golden Light
[134].Hemi-Sync.-.Explore the Original.-.Connecting With Your Inner Guides
[135].Hemi-Sync.-.Explore the Original.-.Golden Mind
[136].Hemi-Sync.-.Explore the Original.-.Healing Journeys Support
[137].Hemi-Sync.-.Explore the Original.-.Inner States Dawning of Awareness
137Hemi-Sync.-.Explore the Original.-.Inner States Dawning of Awareness 内在意识的曙光
[138].Hemi-Sync.-.Explore the Original.-.The Music of Graceful Passages
## 去掉改文件名开头的 “\[”
for file in ls \[*;
do
mv $file `echo $file | sed 's/\[//g'`;
done
## 去掉文件名字开头的“〖”
for file in ls 〖*;
do
mv $file `echo $file | sed 's/〖//g'`
done
#--------------
##去掉文件名中间的 "]"
for file in `ls | grep "]"`;
do
mv $file `echo $file | sed 's/]//g'`;
done
##去掉文件名字中间的“〗”
for file in `ls | grep "〗"`
do
mv $file `echo $file | sed 's/〗//g'`
done
## 去掉文件名字中间的“."
for file in `ls | grep "\."`
do
mv $file `echo $file | sed 's/\./-/g'`
done
##改-rar 为.rar
for file in `ls | grep "\-rar"`
do
mv $file `echo $file | sed 's/\-rar/.rar/g'`
done
##去掉文件名字中的“专辑名称:”
for file in `ls | grep "专辑名称:"`
do
mv $file `echo $file | sed 's/专辑名称://g'`
done
##去掉文件名字中的“:门罗研究所最广受欢迎的系列:”
for file in `ls | grep ":门罗研究所最广受欢迎的系列:"`
do
mv $file `echo $file | sed 's/:门罗研究所最广受欢迎的系列://g'`
done
## 批量解压 rar 到各自目录
for i in ls *.rar;
do
rar x $i
done
1
joke392 2018-09-07 09:37:03 +08:00
不想写脚本的话,可以试试看这个小软件:RegexRenamer
|
2
momocraft 2018-09-07 09:46:29 +08:00
用 bash 做这个要正确地搞定各种 blob 和数层 escape,考虑别的语言吧..
|
3
momocraft 2018-09-07 09:46:44 +08:00
*各种 glob
|
4
holmesabc 2018-09-07 09:49:15 +08:00
直接 rename 命令吧
|
5
liangzi OP @holmesabc 我的发行版 rename 还很奇葩 是个 gui 界面的试了一下还不行。。。
|
8
mwwfer 2018-09-07 09:58:11 +08:00
试下 Total Commander 批量重命名,文件名在 Sublime Text 或者 VS Code 里面批量处理一下,1 分钟搞定。
|
9
iwtbauh 2018-09-07 10:23:05 +08:00 via Android
mv $file 改为 mv "$file"
|
10
omph 2018-09-07 10:36:16 +08:00 1
安装 renameutils,使用 qmv
|
11
zhouzm 2018-09-07 11:00:42 +08:00 1
用 vim 可以随心欲的改。
http://vim.wikia.com/wiki/Bulk_rename_files_with_Vim vim 的正则: http://vimregex.com/ 例如匹配 行首大括号部分::/\[\d\+\.*.\+\],至于匹配 .-. 更容易了 :/\.-\. 替换使用 :%s,:%s/\[\d\+\.*.\+\]//gc,无需确认的话,去掉 c |
12
sunznx 2018-09-07 11:02:21 +08:00
这种有规律的,一般都是用 emacs 的 dired 解决
|
17
Aprilming 2018-09-07 11:25:46 +08:00
好头像,我还有个 blackbetty passport 呢。看到这个标志,真情怀啊、
|
18
redsonic 2018-09-07 11:28:29 +08:00 1
ls -i
找到文件对应的 inode number 然后 find -inum 刚才找到的 inodenum -exec mv '{}' '新文件名' \; |
21
zhouzm 2018-09-07 12:01:31 +08:00 1
@liangzi 你认真看过 Bulk_rename_files_with_Vim 这个链接了吗?
第一步就是教怎么批量把文件或目录名导入 vim,然后是通过正则替换生成批量的 mv 命令,最后是执行。 我没明白你说的单个文件是什么意思。 |
23
kokutou 2018-09-07 12:15:07 +08:00
1、批量替换 "." 为 " "
2、批量替换 " - " 为 " " 3、批量替换 " 扩展名" 为 ".扩展名" |
24
mingl0280 2018-09-07 12:26:08 +08:00
1. (\.)?-(\.)? 替换为 -
2. (\[)?(\d+)(\]|\.Update)?(\]|\.)? 保留第二组并加一个空格 另外你给的文件名只能说明你的暴力替换完全没用…… |
26
aaaaasam 2018-09-07 14:29:44 +08:00 1
cat ~/下载 /name | while read line; do echo $line | sed -e 's/[.|-]/ /g' -e 's/\[/ /' -e 's/\]/ /' ; done
|
28
Lostars 2018-09-07 16:18:55 +08:00
cat name | sed 's/\[//g' | sed 's/\]//' | sed "s/[.-]//g"
01HemiSyncMetaMusicAngel Paradise 天使乐园 02HemiSyncMetaMusicAscension 耶稣升天 03HemiSyncMetaMusicBaroque Garden 04HemiSyncMetaMusicBetween Worlds 05HemiSyncMetaMusicBreakthrough for peakperformance 06HemiSyncMetaMusicChakra Journey 07HemiSyncMetaMusicCloudscapes 08HemiSyncMetaMusicConvergence 不知道是不是要这样的效果 |
29
xiaq 2018-09-07 16:45:25 +08:00 via iPad
mv $file "$(echo $file | tr -d '[]-.')"
|
31
Lostars 2018-09-07 19:32:59 +08:00
@liangzi
cat name | sed 's/\[//g' | sed 's/\]//' | sed "s/[.-]//g" |
32
Tumblr 2018-09-07 20:11:47 +08:00
感觉直接替换掉就 OK 吧? 替换之后简单看了下,和 #28 楼的好像是一样的。
在 vim 中 `:%s/[\[\]\.-]//g` 或者如果用的是 PowerShell: `(gc name.txt -Encoding Default) -replace "[\[\]\.-]",""` |
33
wweir 2018-09-07 20:45:06 +08:00 via Android 1
ls | xargs awk '{printf("mv %s `echo %s \ sed -E s/[^0-9A-Za-z]//g`",$1,$1)}' | sh
手机码字,自行调试 |
34
user002 2018-09-07 21:27:10 +08:00 via Android 1
从后往前匹配
|
35
user002 2018-09-07 21:32:29 +08:00 via Android
学习学习
|
36
ETiV 2018-09-07 21:50:49 +08:00 1
ls \[* | while read line ; do new_name=$(echo "${line}" | sed 's!\[!!g' | sed 's!\]!!g' | sed 's!\.-\.!_!g') ; mv "${line}" "${new_name}" ; done
ls [ 开头的文件,会产生每行一个文件名 循环每行的文件名: 3 个 sed 分别移除 [、移除 ]、替换 .-. 成 _,形成新的 name 然后 mv 老文件名 新文件名 |
39
liangzi OP - 感谢大家热心的帮助
- 原文件名字上传到了这里[https://transfer.sh/14gOEi/menluo_music_directory-txt]( https://transfer.sh/14gOEi/menluo_music_directory-txt0 有效期 14 天 - 这是压缩文件 要做的目的就是批量解压然后把解压的文件批量重新命名 以实现文件名字中没有奇葩字符 - 我是个这方面的外行 用到的方法也都是从网上搜出来比猫画虎的试着做 - 目前从 @zhouzm @redsonic 两位提供的方法中自己慢慢摸索着实现了个差不多 特别感谢~ ^_^ - 最后的目录是这样的[https://transfer.sh/WzeMa/remenlu_music]( https://transfer.sh/WzeMa/remenlu_music) |
40
ps1aniuge 2018-09-08 01:08:33 +08:00 1
#win,linux 通用的 powershell 代码
dir 你的目录|foreach { $a = $_.name. Replace('.-.'.''). Replace('['.''). Replace(']'.''). Replace('〖'.''). Replace('〗'.''). Replace('.'.''). Replace('-rar'.'.rar'). Replace('专辑名称:'.''). Replace(':门罗研究所最广受欢迎的系列:'.'') Rename-Item -LiteralPath $_.FullName -NewName $a } |
41
zhouzm 2018-09-08 09:55:08 +08:00
@ps1aniuge
替换在准确性上是不如正则匹配的,例如 [87] 和 [93.Update] 都是要删除的,还有"137Hemi-Sync"这里的 137,正则可以很一次匹配,简单替换则无法处理。 尤其是楼主例子里的文件名其实是有规律的,写好正则后,可以整行一次性匹配。 |
42
zyuhung 2018-09-08 11:00:19 +08:00
复制到 word 文档,然后全选,表格→文字转换表格,文字分隔位置→其他字符
|
43
ps1aniuge 2018-09-08 15:16:37 +08:00
如果只改目录名。加上-Directory 如果含有子目录的话,就加上-Recurse
41 楼:没看到楼主要求去掉数字,去掉数字也可以不用正则。 |
44
ps1aniuge 2018-09-08 15:18:36 +08:00
Replace('〖',''). 这里面的逗号,为啥贴上去后改变点了?
|
45
liangzi OP 我发现我的发行版里面有个 krename 分分钟搞定文件目录和名字 还能递归命名目录下的名字....
|