分页: 1 / 1

如何递归的去掉目录中文件的扩展名 .bc!

发表于 : 2008-06-19 9:42
cvgmt
我原来用 BitComet 下载了一个 BT 文件,里面有很多目录,每个目录下有很多文件,很多都是没下载完的带 .bc! 扩展名的文件,现在想把这些扩展名都去掉,然后放在 Deluge 中下载,不知如何用正则表达式去做,请指教!(总共有几百的文件啊!)

发表于 : 2008-06-19 9:55
eexpress
find . -iname "*.bc!" -exec rename 's/.bc!$//' {} \;

发表于 : 2008-06-19 10:06
cvgmt
非常感谢您!以后一定好好学习脚本!

Re:

发表于 : 2009-08-05 22:35
白鳍豚
eexpress 写了:find . -iname "*.bc!" -exec rename 's/.bc!$//' {} \;
谢谢!

Re:

发表于 : 2009-08-05 23:45
lululau
eexpress 写了:find . -iname "*.bc!" -exec rename 's/.bc!$//' {} \;
大虾,哪里能下到rename的源码啊?这个工具确实蛮方便的,可是我的系统上没有。。。

Re: 如何递归的去掉目录中文件的扩展名 .bc!

发表于 : 2009-08-05 23:51
eexpress
☎ type rename
rename is /usr/bin/rename
☎ readlink /usr/bin/rename
/usr/bin/prename
☎ dpkg -S /usr/bin/prename
perl: /usr/bin/prename

Re: 如何递归的去掉目录中文件的扩展名 .bc!

发表于 : 2009-08-05 23:58
daf3707
:em09 看EE教学

Re: 如何递归的去掉目录中文件的扩展名 .bc!

发表于 : 2009-08-06 0:08
lululau
我用不的不是linux,没这命令
刚刚网上搜了个,装上试了试好像跟这个rename不一样

代码: 全选

Usage: rename SOURCE DEST
   or: rename [OPTION] file ...
Rename SOURCE to DEST, or substitute characters match the specified pattern
in the filename.

  -l, --lowcase            lowcase the file names
  -u, --upcase             upcase the file names
  -s/PATTERN/STRING[/sw]   replace matching PATTERN with STRING, [sw] is
                           [g] replace all occurrences in the filename
                           [i] ignore case when searching
                           [b] backward searching and replacing
                           [s] change file's suffix name
                           [r] PATTERN is regular expression
                           [e] PATTERN is extended regular expression
  -R, --recursive          operate on files and directories recursively
  -o, --owner  OWNER       change file's owner (superuser only)
  -v, --verbose            display verbose information
  -t, --test               test only
  -h, --help               display this help and exit
  -V, --version            output version information and exit
      --yes  --no          force to choose YES or NO when target exists

See man page regex(7) for detail information about extended regular expression.

Report bugs to <[email protected]>.


Re: 如何递归的去掉目录中文件的扩展名 .bc!

发表于 : 2009-08-19 15:04
tusooa

代码: 全选

19/08/2009 15:00:10
tusooa (~)
>> type -a rename
rename is /usr/bin/rename
19/08/2009 15:06:16
tusooa (~)
>> readlink /usr/bin/rename
/etc/alternatives/rename
19/08/2009 15:06:26
tusooa (~)
>> readlink /etc/alternatives/rename
/usr/bin/prename
19/08/2009 15:06:37
tusooa (~)
>> readlink /usr/bin/prename
19/08/2009 15:06:49
tusooa (~)
>> dpkg -S /usr/bin/prename
perl: /usr/bin/prename
19/08/2009 15:07:01
tusooa (~)
>>

Re: 如何递归的去掉目录中文件的扩展名 .bc!

发表于 : 2009-08-19 15:28
O_O_BOT
gnuwin for win

Re: 如何递归的去掉目录中文件的扩展名 .bc!

发表于 : 2009-08-19 22:03
cocoready
在下才疏学浅,用一个最笨的方法来实现

for file in `find -name "*.bc"`
do
newlength=`expr ${#file} - 3`
NEWNAME=`expr substr $file 1 $newlength`
mv $file $NEWNAME
done

办法有点笨,但是还是可以实现。嘎嘎