somelee 发表于 2004-6-22 23:18:01

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

不瞒各位,偶中了爱情后门F盘好多.exe被改成了.zmx
F盘在LINUX下是/mnt/winf
包含很多目录,可能每个目录都有*.zmx
我现在要想把他改成*.exe

MichaelBibby 发表于 2004-6-23 13:39:34

用find命令和tr试试吧

JohnnyHo 发表于 2004-6-26 15:22:24

最开始想到的,我不知道有没有更好的方法

for file in *.zmx; do
sfile=`echo $file | sed 's/\.zvx$/\.exe/'`
mv $file $sfile
done

MichaelBibby 发表于 2004-6-26 15:45:46

最开始想到的,我不知道有没有更好的方法

for file in *.zmx; do
sfile=`echo $file | sed 's/\.zvx$/\.exe/'`
mv $file $sfile
done

我想到的和你的一样 :mrgreen:
但是还需要加上find来搜索子目录下的.zmx文件才行
我每次试的时候都是find出问题,不能成功:cry:
如果不递归的话,这样子就可以了

零二年的夏天 发表于 2004-6-27 11:23:09

试试这个:

find ./ -name "*.zmx" -exec rename .zmx .exe '{}'\;

mrzhu 发表于 2004-7-2 12:44:48


#!/bin/bash

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

for zmx in $FILES ; do
    exe=`echo $zmx | sed "s/.zmx/.exe/"`
    mv $zmx $exe
done

试试看吧
页: [1]
查看完整版本: 怎么把同一目录及所有子目录下的所有*.a改成对应的*.b