写一个bash重命名脚本

时间:2012-04-07 10:09:32

标签: shell

我无法理解,需要以下任务的帮助:

现有的Linux程序foo2bar将唯一的参数作为单个foo文件的名称,并将其转换为适当命名的bar文件。提供一个脚本,在执行时将针对当前目录中的所有foo文件运行foo2bar。

3 个答案:

答案 0 :(得分:2)

如果我理解正确:

#!/bin/sh

for f in *.foo; do
  foo2bar "$f"
done 

答案 1 :(得分:0)

您可以使用“for {in find . -name "*foo*"; do mv $ r $ r” - “; done”重命名当前目录中的foo文件。

 # ls
 1.foo  2.foo  3.foo  foo  foo.1  foo.2  foo.3

 # for r in `find . -name "*foo*"` ; do mv $r $r"-" ; done

 # ls
 1.foo-  2.foo-  3.foo-  foo-  foo.1-  foo.2-  foo.3- 

感谢。

答案 2 :(得分:0)

我认为rename命令可能是你的朋友。

rename foo bar *foo*

会将文件名的所有foo更改为bar,其中包含foo