当前位置: 技术问答>linux和unix
Linux中有没有批量更名的程序?
来源: 互联网 发布时间:2015-09-29
本文导语: 我有一堆的文件其名称如下 01 a.mp3 02 b.mp3 03 c.mp3 我希望把所有的文件变成 a.mp3 b.mp3 c.mp3 请问如何用Linux的命令实现? 要不要写个小的脚本? 有没有比较通用的更名用的工具? | 用个脚本改...
我有一堆的文件其名称如下
01 a.mp3
02 b.mp3
03 c.mp3
我希望把所有的文件变成
a.mp3
b.mp3
c.mp3
请问如何用Linux的命令实现? 要不要写个小的脚本? 有没有比较通用的更名用的工具?
01 a.mp3
02 b.mp3
03 c.mp3
我希望把所有的文件变成
a.mp3
b.mp3
c.mp3
请问如何用Linux的命令实现? 要不要写个小的脚本? 有没有比较通用的更名用的工具?
|
用个脚本改吧,不过得花一点时间来写脚本,
先把你的这些文件写进一个文件里面,比如你的文件都在同一个目录里面,
你可以用 ls *.mp3 > tempfile,
用vi进去tempfile里面改动,按照下面的步骤
:%!awk '{print $0, $2}'
:%s/ (.*) / 1' /g
%s/^/mv '/g
保存后在命令行运行 sh tempfile 应该就可以全部改掉了。
或者用 chmod +x tempfile 后运行tempfile。
先把你的这些文件写进一个文件里面,比如你的文件都在同一个目录里面,
你可以用 ls *.mp3 > tempfile,
用vi进去tempfile里面改动,按照下面的步骤
:%!awk '{print $0, $2}'
:%s/ (.*) / 1' /g
%s/^/mv '/g
保存后在命令行运行 sh tempfile 应该就可以全部改掉了。
或者用 chmod +x tempfile 后运行tempfile。
|
#!/usr/bin/env ruby
require 'find'
Find.find('/you/path/') do |x|
File.rename(x, x.gsub(/[0-9]/, '').strip) if x ~= /.mp3$/
end
require 'find'
Find.find('/you/path/') do |x|
File.rename(x, x.gsub(/[0-9]/, '').strip) if x ~= /.mp3$/
end