2012-04-07 122 views
0

我無法弄清楚,用下面的任務需要幫助:寫一個bash腳本改名

現有的Linux程序foo2bar作爲其唯一的參數一個foo的文件的名稱,並將其轉換爲適當的命名的條形文件。提供一個腳本,該腳本在執行時將針對當前目錄中的所有foo文件運行foo2bar。

+0

相關問題:[更好的方式基於多個模式重命名文件](http://stackoverflow.com/a/25597051/2654678)。 – 2014-08-31 23:12:34

回答

2

如果我理解正確的:

#!/bin/sh 

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

則可以 「find . -name "*foo*"針對R,做MV $ R $ R」 使用 - 「完成」,在當前目錄重命名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- 

謝謝。

0

我認爲rename命令可能是你的朋友在這裏。

rename foo bar *foo* 

將改變所有的foobar與在他們foo的文件名。