Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 编写bash重命名脚本_Shell - Fatal编程技术网

Shell 编写bash重命名脚本

Shell 编写bash重命名脚本,shell,Shell,我无法理解,需要以下任务的帮助: 现有的Linux程序foo2bar将单个foo文件的名称作为其唯一参数,并将其转换为适当命名的bar文件。提供一个脚本,该脚本在执行时将针对当前目录中的所有foo文件运行foo2bar。如果我理解正确: #!/bin/sh for f in *.foo; do foo2bar "$f" done # ls 1.foo 2.foo 3.foo foo foo.1 foo.2 foo.3 # for r in `find . -name

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

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

如果我理解正确:

#!/bin/sh

for f in *.foo; do
  foo2bar "$f"
done 
 # 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- 
您可以使用“for r 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- 
谢谢。

我想指挥部可能是你的朋友

i、 e

对于包含
foo
的文件名,将所有
foo
更改为
bar

相关问题:。