QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 849|回复: 5

怎么把同一目录及所有子目录下的所有*.a改成对应的*.b

[复制链接]
发表于 2004-6-22 23:18:01 | 显示全部楼层 |阅读模式
不瞒各位,偶中了爱情后门F盘好多.exe被改成了.zmx
F盘在LINUX下是/mnt/winf
包含很多目录,可能每个目录都有*.zmx
我现在要想把他改成*.exe
发表于 2004-6-23 13:39:34 | 显示全部楼层
用find命令和tr试试吧
回复

使用道具 举报

发表于 2004-6-26 15:22:24 | 显示全部楼层
最开始想到的,我不知道有没有更好的方法
[code:1]
for file in *.zmx; do
sfile=`echo $file | sed 's/\.zvx$/\.exe/'`
mv $file $sfile
done
[/code:1]
回复

使用道具 举报

发表于 2004-6-26 15:45:46 | 显示全部楼层
[quote:899f4d6ffc="JohnnyHo"]最开始想到的,我不知道有没有更好的方法
[code:1]
for file in *.zmx; do
sfile=`echo $file | sed 's/\.zvx$/\.exe/'`
mv $file $sfile
done
[/code:1][/quote]
我想到的和你的一样
但是还需要加上find来搜索子目录下的.zmx文件才行
我每次试的时候都是find出问题,不能成功
如果不递归的话,这样子就可以了
回复

使用道具 举报

发表于 2004-6-27 11:23:09 | 显示全部楼层
试试这个:
[code:1]
find ./ -name "*.zmx" -exec rename .zmx .exe '{}'  \;[/code:1]
回复

使用道具 举报

发表于 2004-7-2 12:44:48 | 显示全部楼层
[code:1]
#!/bin/bash

FILES=`find /mnt/winf -name "*.zmx"`

for zmx in $FILES ; do
    exe=`echo $zmx | sed "s/.zmx/.exe/"`
    mv $zmx $exe
done
[/code:1]
试试看吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 10:58 , Processed in 0.043194 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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