文件名字中各种奇葩字符怎么批量去除呢

2018-09-07 09:17:56 +08:00
 liangzi
[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
5469 次点击
所在节点    Linux
45 条回复
zhouzm
2018-09-08 09:55:08 +08:00
@ps1aniuge
替换在准确性上是不如正则匹配的,例如 [87] 和 [93.Update] 都是要删除的,还有"137Hemi-Sync"这里的 137,正则可以很一次匹配,简单替换则无法处理。

尤其是楼主例子里的文件名其实是有规律的,写好正则后,可以整行一次性匹配。
zyuhung
2018-09-08 11:00:19 +08:00
复制到 word 文档,然后全选,表格→文字转换表格,文字分隔位置→其他字符
ps1aniuge
2018-09-08 15:16:37 +08:00
如果只改目录名。加上-Directory 如果含有子目录的话,就加上-Recurse

41 楼:没看到楼主要求去掉数字,去掉数字也可以不用正则。
ps1aniuge
2018-09-08 15:18:36 +08:00
Replace('〖',''). 这里面的逗号,为啥贴上去后改变点了?
liangzi
2018-09-08 21:20:11 +08:00
我发现我的发行版里面有个 krename 分分钟搞定文件目录和名字 还能递归命名目录下的名字....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/486976

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX