LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: drsupermouse

怎么批量改名,简单的方法有没有?

[复制链接]
发表于 2003-4-30 15:50:31 | 显示全部楼层

file 可以根据 magic number 检查文件的类型

for example:
file *.mp3
file *
发表于 2003-5-6 20:28:49 | 显示全部楼层
rename .mpeg .mp3 *.mpeg
发表于 2003-6-19 17:38:40 | 显示全部楼层
ls *mpeg |xargs -n 1 -i -t mv {} {}.mp3
发表于 2004-6-29 12:34:12 | 显示全部楼层
我的unzip不支持中文解压,解压后的文件为
-?+?24  -?+?32  -?+?40
如何批量把乱码改成汉字,比如把乱码改成“实例”,而后面的数字不变。
发表于 2004-6-29 12:59:23 | 显示全部楼层

  1. for file in $(ls [!a-zA-Z0-9]*);do
  2.     mv $file $(echo $file|sed 's/.*\(..$\)/实例\1/')
  3. done
复制代码

汉字显示乱码,也许是locale没设置好吧 :ask
发表于 2004-6-29 16:57:17 | 显示全部楼层
最初由 KornLee 发表

  1. for file in $(ls [!a-zA-Z0-9]*);do
  2.     mv $file $(echo $file|sed 's/.*\(..$\)/实例\1/')
  3. done
复制代码

汉字显示乱码,也许是locale没设置好吧 :ask

多谢督导关怀!你的代码运行后提示:
ls:无效选项 --
请尝试执行‘ls --help’来获取更多信息。
我只是把你的代码拷到文件中,设置为可执行,然后执行,这样有错吗?请指点!
发表于 2004-6-29 17:08:49 | 显示全部楼层

一个批量更改文件后缀名的shell

在脚本欣赏里面发过一次,你没看到吧,不知道能否满足你的要求。

#! /bin/tcsh
foreach name(*.jpeg)
mv $name $name:r.jpg
echo $name " --> " $name:r.jpg
end
发表于 2004-6-29 17:14:38 | 显示全部楼层
ls [!a-zA-Z0-9]*,在ls的帮助里当然找不到,这句话的意思是说
找出所有不含有大小写字母和数字的文件名,当然,也就指的是乱码了
怎么执行无所谓,
发表于 2004-6-29 20:54:39 | 显示全部楼层
把xmms的 mpeg layer 1/2/3播放器的插件的选项
“根据内容探测文件(不根据文件扩展名)”前面打个勾,就不用这么麻烦改名了。
发表于 2004-7-5 00:25:06 | 显示全部楼层
for i in `find /home/music -type f -name *.mpga`
do
  localname=`echo $i | awk -F. '{print $1}'`
  mv $i $localname.mp3
done
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表